利用AWK和Python进行数据处理与脚本编写
1. 使用AWK优化lastlog输出
在处理lastlog命令的输出时,我们可能只对部分数据感兴趣,比如用户名和最后登录时间。AWK可以作为强大的数据过滤器,实现水平和垂直的数据过滤。
1.1 水平过滤行
通过将lastlog的输出通过管道传递给AWK,结合控制文件实现水平过滤。示例命令如下:
$ lastlog | awk -f lastlog.awk初始的控制文件lastlog.awk内容如下:
!/Never logged in/ || /Username/ || /root/ { print $0 }该控制文件排除了包含Never logged in的行、以Username开头的行以及root账户相关行。
1.2 统计匹配行
为了统计过滤后返回的行数,我们可以使用自定义变量cnt。修改后的控制文件如下:
!/Never logged in/ || /Username/ || /root/ { cnt++ print