使用shell指令碼統計檔案中ip出現的次數例項教程

2021-12-29 22:25:27 字數 1580 閱讀 6148

首先準備檔案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 表明每個詞用...