首先準備檔案demo.txt,內容如下:
1 192.168.41.20
2 192.168.41.21
3 192.168.41.22
4 192.168.41.23
5 192.168.41.24
6 192.168.41.25
統計出現次數最多的ip次數:
cat demo.txt | awk '' | sort | uniq -c | sort -n -r | head -n 1注:
awk '':取資料的第2域(第2列),第一列是標號(1,2,3...),第二列是ip位址
sort:對ip部分進行排序。
uniq -c:列印每一重複行出現的次數。(並去掉重複行)
sort -n -r:按照重複行出現的次序倒序排列。
head -n 1:取排在第一位的ip位址統計netstat -ntu命令的結果**現次數最多的ip位址:
執行命令 netstat -ntu,顯示結果如下:
active internet connections (w/o servers)
proto recv-q send-q local address foreign address state
tcp 0 0 127.0.0.1:8152 127.0.0.1:4193 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4192 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4196 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4199 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4201 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4204 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4207 time_wait
tcp 0 0 127.0.0.1:8152 127.0.0.1:4210 time_wait
tcp 0 0 192.168.32.62:41682 192.168.47.27:5431 time_wait
tcp 0 0 192.168.32.62:41685 192.168.47.27:5431 time_wait
使用指令碼命令進行統計:
netstat -ntu | tail -n +3|awk '' | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 5統計結果:
8 127.0.0.1
2 192.168.47.27注:
tail -n +3 :去掉上面用紅色標明的兩行。
awk '':取資料的第5域(第5列)
cut -d : -f 1 :取藍色部分前面的ip部分。
sort:對ip部分進行排序。
uniq -c:列印每一重複行出現的次數。(並去掉重複行)
sort -n -r:按照重複行出現的次序倒序排列。
head -n 5:取排在前5位的ip
Shell 指令碼統計檔案行數
示例 row count.s 件 awk row count.sh tail n1 awk end row count.sh grep n row count.sh awk f tail n1 sed n row count.sh wc l row count.sh cat row count.sh...
shell指令碼統計檔案中單詞的個數
一 方案 方法一 1 cat file sed s g awk end 其中file為要操作的檔案,sed中 間有乙個空格。2 sed s g file awk end 1 和 2 效果一致。方法二 1 awk beginend file 這裡 f 表明每個詞用逗號分隔 nf其實是number of...
shell指令碼統計檔案中單詞的個數
shell指令碼統計檔案中單詞的個數 一 方案 方法一 1 cat file sed s g awk end 其中file為要操作的檔案,sed中 間有乙個空格。2 sed s g file awk end 1 和 2 效果一致。方法二 1 awk beginend file 這裡 f 表明每個詞用...