格式
gawk options program file Options: * -F fs * -f file * -v var=value * -mf N * -mr N * -W keyword
*
gawk程序用一对花括号来定义 gawk默认的字段分隔符是任意的空白字符 $0、$1、$2...的含义 gawk变成语言允许将多条命令组合成一个正常的程序,用冒号分开 在处理数据前运行脚本使用BEGIN 在处理数据后运行脚本使用END
Example
$ gawk '{print "Hello, TankyWoo"}' $ gawk -F: '{print $1}' /etc/passwd $ echo "My name is TankyWoo" | gawk '{$4="TK"; print $0}' $ cat myscript { print $1 "'s home dir is " $6 } $ gawk -F: -f myscript /etc/passwd $ gawk 'BEGIN {print "Hello World"}' $ cat mydata Line 1 Line 2 Line 3 $ gawk 'BEGIN { print "The data fileL"} { print $0 }' mydata p $ gawk 'BEGIN { print "The data fileL"} { print $0 }\ END { print "End of File"}' mydata
常用命令
筛选第N个字段包含某某字符串的行
# 搜索/var/log/nginx/access_log日志中第三列包含error字符串的行 $ awk '($3 ~ /error/)' /var/log/nginx/access_log