利用perl 改寫awk統計

2021-06-29 01:27:51 字數 1088 閱讀 6931

[root@dwh1 log]# who

dwetl 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 '' | awk 'end'

root 2

dwetl 5

perl 版本:

[oracle@dwh1 perl]$ cat a3.pl

#!/usr/bin/perl

###建立乙個區域性雜湊陣列%who,用來儲存登陸到系統的使用者和他們的登陸次數的集合

my %who;

open (fh,"who | ") or die;

while () ++;

}foreach (sort <=>$who}keys %who)\n";

}[oracle@dwh1 perl]$ perl a3.pl

$1 is dwetl

$1 is dwetl

$1 is dwetl

$1 is root

$1 is dwetl

$1 is root

$1 is dwetl

dwetl---5

root---2

我們使用乙個模式匹配來提取使用者名稱,我們將名字記錄到%who雜湊陣列中,並使使用者名稱成為關鍵字,

每乙個使用者登陸系統的次數成為值。

awk 統計例項

個人比較懶,慢慢加了 一點一點重新做下記錄,時間久不用都忘記了 一 如 新建乙個a檔案,內容如下 1,5 1,2,3,4,5 1,2,3,4,5,1,5,5,5 1然後awk f end a 輸出為 1,2 1,52 第一列為1的出現4次,第五列為5 的出現2次 二 去除awk某列重複行 首先建立乙...

awk統計案例

1 統計系統中各種型別的shell awk f end etc passwd books linux books linux 1 shells bin bash shells sbin nologin bin bash 5 sbin nologin 6 shells bin bash a shell...

perl程式裡怎麼使用awk

問題 我現在想把 awk from file to file 這句話加入perl程式中,但是加上sytem和 之後都無法執行 答案 有很多命令在命令列可以執行的,但是不能直接放入perl中執行,需要對特殊字元進行轉義。前面都加上 試試,不然 3會被當作是perl中的變數。建議最好是用perl直接寫比...