文章目录
1、awk概述
AWK 来自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描,过滤,为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其它的功能。
平时主要用来处理文本,将文本按照指定的格式输出。其中包含了变量,循环以及数组。
2、awk原理
2.1、 awk 工作原理
- 当读到第一行时,匹配条件,然后执行指定动作,在接着读取第二行数据处理,不会默认输出。
- 如果没有定义匹配条件,则是默认匹配所有数据行,awk隐含循环,条件匹配多少次,动作就会执行多少次。
- 逐行读取文本,默认以空格或tab键为分割符进行分割,将分割所得的各个字段,保存到内建变量中,并按模式或或条件执行编辑命令。
2.2、 与sed工作原理比较
sed命令常用于一整行的处理。而awk比较倾向于将一行分成多个 “ 字段 ” 然后再进行处理。
awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。
在使用awk命令的过程中,可以使用逻辑操作符。(&&“表示"与”、“||表示"或”、"!“表示非”;还可以进行简单的数学运算,如+、一、*、/、%、^分别表示加、减、乘、除、取余和乘方。)