使用awk命令时,先输入awk指令,然后输入模式或者需要执行的动作(用单引号括起来),最后指定输入文件。若未指定输入文件,则使用键盘进行标准输入。然后awk会将输入的每行数据用空格或者tab分隔开,每个字段用以$1开始的各字段变量进行识别。
awk命令的格式:
awk 'pattern' filename
awk '{action}' filename
awk 'pattern {action}' filename
awk动作部分中,print函数可以使用{print}格式。print函数可以使用参数变量计算出的值或者字符串常数,字符串需要使用双引号。逗号用于分隔参数,不使用逗号的话参数就连在一起。如下图所示:
awk -f选项可以使用文件中的awk命令和动作
awk -f [awk命令文件] [输入文件]
$0变量代表整行的记录,NR表示该记录是第几条,例如:
[root@localhost]#cat awkfile
123 a
456 b
789 c
[root@localhost]#awk '{print NR, $0}' awkfile
1 123 a
2 456 b
3 789 c
awk的正则表达式是使用斜杠(/)且由字符串组成的。波浪号可以检查某条记录或者某个字段是否匹配表达式。例如:
[root@localhost]# cat awkfile
Hong KilDong 3324 5/11/96 1431
Im KkoekJeong 2451 5/1/23 55665
[root@localhost]# awk '$2 ~ /[Kk]il/' awkfile
Hong KilDong 3324 5/11/96 1431