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 |