awk命令之打印和分割使用实例

awk命令非常强大,熟悉其用法能简化很多事情,比如用一条命令就能收集到maillog日志文件记录的NOQUEUE行IP信息,详细命令解释如下:

1
cat maillog|grep "NOQUEUE"|awk '{print $10}'|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'

用cat命令显示maillog文件,用grep命令查找smtpd_23信息的行,第一次用awk命令显示以空格分隔的第10列,得出类型以下列:

1
itkylin.com[172.67.174.8]:

然后第二次用awk命令显示经[分隔的第二列,得到类似以下列:

1
172.67.174.8]:

然后第三次用awk命令显示经]分隔的第一列,得到最终想要的IP信息:

1
172.67.174.8