awk:通常倾向于处理行中的字段(适合处理小型的数据处理)
awk ‘BEGIN(print “start”) pattern(commands)END(print “end”) ’ file
第一步:执行BENGIN语句块中的语句
第二步:从文件或标准输入读一行,然后执行pattern语句块,逐行扫描,从第一行到最后一行重复执行这个过程,直到文件全部读取
第三步:当读到输入流末尾时,执行END语句块
常用命令选项
①-F fs指定分隔符
②-v var=value 赋值一个用户变量,将外部变量换递给awk
③-f 从脚本文件中读取awk命令
awk内置变量
n当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。n当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。0 这个变量包含执行过程中当前行的文本内容。
FNR 同NR,但相对于当前文件。
FS 字段分隔符(默认是任何空格)
NF 表示字段数,在执行过程中对应于当前的字段数
NR 表示记录数,在执行过程中对应于当前的行号
OFS 输出字段分隔符(默认值是一个空格)
RS 记录分隔符(默认是一个换行符)
ORS 输出记录分隔符(默认值是一个换行符)