awk(一):原理、结构
awk原理
awk逐行扫描文件,从第一行到最后一行,寻找匹配特定模式的行,并在这些行上进行你想要的操作。
awk结构
awk 'BEGIN{ commands } /pattern/{ commands } END{ commands }'
awk基本结构包括模式匹配(用于找到要处理的行)和处理过程(即处理动作)。
pattern {action} ==> 模式 {动作指令}
模式(被匹配)可以是:
BEGIN: 在没有读取任何数据之前执行(例如用于输出表头,初始化变量)
END: 在所有数据读取完成以后执行
表达式
表达式,表达式
动作指令需要以{}引起来
#例子 #:/^$/通过正则表达式匹配空白行,动作为打印Blank line;即test.txt如有N个空白行,awk将在屏幕打印N个Blank line。 awk '/^$/ {print "Blank line}' test.txt #打印包含HOSTNAME的行,因为没有指定动作指令,默认动作为打印。 awk '/HOSTNAME/' /etc/sysconfig/network #提前编辑一个awk脚本再通过-f选项调用该脚本。 #cat awk.sh # '/^$/ {print "Blank line}' awk -f awk.sh test.txt

浙公网安备 33010602011771号