Shell-shell统计日志文件,找出指定用户操作记录

Shell-shell统计日志文件,找出指定用户操作记录

浮生未歇 发布于 2016-11-13 字数 621 浏览 1060 回复 1

给出一批用户名,放在文件A中:
1 A A@email.com
2 B B@email.com
3 C C@email.com
4 D D@email.com
5 E E@email.com
然后从登录日志中找出这些用户的记录:
2012-09-23 00:00:00 A 127.0.0.1
2012-09-23 00:00:01 B 127.0.0.2
2012-09-23 00:00:02 A 127.0.0.3
2012-09-23 00:00:03 D 127.0.0.4
2012-09-23 00:00:04 F 127.0.0.5
得到结果如下:
1 A A@email.com 2012-09-23 00:00:00 127.0.0.1
1 A A@email.com 2012-09-23 00:00:02 127.0.0.3
2 B B@email.com 2012-09-23 00:00:01 127.0.0.2
4 D D@email.com 2012-09-23 00:00:03 127.0.0.4
请问使用shell如何实现。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑾兮 2017-01-05 1 楼

先awk一下,再sort:

awk 'BEGIN{while("cat 'a.txt'"|getline d){split(d,key," ");i++;t1[i]=key[1];t2[i]=key[2];t3[i]=key[3];}}{for(j=0;j<=i;j++){if($3==t2[j]) print t1[j],t2[j],t3[j],$1,$2,$4}}' b.txt | sort