awk倾向于一行当中分成数个字段来处理,相当适合处理小型的数据数据处理
awk脚本基本结构(BEGIN语句块、能够使用模式匹配的通用
语句块、END语句块)三个部分都是可选的
awk 'BEGIN{ print "tart"} pattern{ commands } END{ print "end"}' file
工作原理:
第一步:执行BEGIN{ commands }语句块中的语句;
第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands}语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。
第三步:当读至输入流末尾时,执行END{ commands }语句块。
一般结构 awk [option] ‘program’ file
选项:
-F:指明输入时要用到的字段分隔符
-v:var=value:自定义变量
例如:
awk -F : -v i=0 '{print $1}' /etc/password
awk -v i=0 'BEGIN{print i}'
print item,item……
用逗号进行分开
在awk中如果想着进行变量替换,一般不要放到双引号中
item可以省略,省略的意思是print $0,显示整行
格式化输出:
1.printf不会自动换行,需要显示给出换行控制符\n
2.FORMAT需要分别为后面的每个item指定一个格式化符号
3.#[.#]:第一个数字控制显示的宽度,第二个#表示小数点后面的精度(