利用perl 改写awk统计

利用perl 改写awk统计,第1张

概述[root@dwh1 log]# whodwetl pts/0 2015-03-05 16:29 (10.130.136.56)dwetl pts/1 2014-12-12 20:41 (10.129.133.154)dwetl pts/2 2015-03-09 15:57 (10.129.224.28)root pts/
[root@DWh1 log]# whoDWetl    pts/0        2015-03-05 16:29 (10.130.136.56)DWetl    pts/1        2014-12-12 20:41 (10.129.133.154)DWetl    pts/2        2015-03-09 15:57 (10.129.224.28)root     pts/3        2015-03-10 15:28 (10.129.254.46)DWetl    pts/4        2015-03-05 16:42 (10.130.136.56)root     pts/6        2015-03-10 16:35 (10.129.254.46)DWetl    pts/8        2015-03-05 23:05 (10.130.136.56)[root@DWh1 log]# who | awk '{print }'  | awk '{a[]++}END{for (i in a) print i,a[i]}'root 2DWetl 5perl 版本:[oracle@DWh1 perl]$ cat a3.pl #!/usr/bin/perl###创建一个局部散列数组%who,用来保存登陆到系统的用户和他们的登陆次数的集合my %who;open (FH,"who | ") or dIE;while (<FH>) {##\S+ 匹配非空格 next unless /^(\S+)/;##第一个模式print "$1 is \n"; $who {}++;}foreach (sort {$who{$b}<=>$who{$a}}keys %who){print "$_---$who{$_}\n";}[oracle@DWh1 perl]$ perl a3.pl  is DWetl is DWetl is DWetl is root is DWetl is root is DWetlDWetl---5root---2我们使用一个模式匹配来提取用户名,我们将名字记录到%who散列数组中,并使用户名成为关键字,每一个用户登陆系统的次数成为值。
总结

以上是内存溢出为你收集整理的利用perl 改写awk统计全部内容,希望文章能够帮你解决利用perl 改写awk统计所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1273886.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存