Shell習題02 統計IP訪問量

2021-10-18 02:47:52 字數 3541 閱讀 4267

題目要求

有日誌1.log,部分內容如下

112.111.12.248 – [25/sep/2013:16:08:31 +0800]formula-x.haotui.com 「/seccode.php?update=0.5593110133088248″ 200″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1;)」

61.147.76.51 – [25/sep/2013:16:08:31 +0800]xyzdiy.5d6d.com 「/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwyolzq2qpw233zirsjiueu22xqe8f49jy9moursoe71″ 301″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)」

61.147.76.51 – [25/sep/2013:16:08:31 +0800]xyzdiy.5d6d.com 「/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwyolzq2qpw233zirsjiueu22xqe8f49jy9moursoe71″ 301″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)」

61.147.76.51 – [25/sep/2013:16:08:31 +0800]xyzdiy.5d6d.com 「/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwyolzq2qpw233zirsjiueu22xqe8f49jy9moursoe71″ 301″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)」

61.147.76.51 – [25/sep/2013:16:08:31 +0800]xyzdiy.5d6d.com 「/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwyolzq2qpw233zirsjiueu22xqe8f49jy9moursoe71″ 301″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)」

112.111.12.248 – [25/sep/2013:16:08:31 +0800]formula-x.haotui.com 「/seccode.php?update=0.5593110133088248″ 200″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1;)」

112.111.12.248 – [25/sep/2013:16:08:31 +0800]formula-x.haotui.com 「/seccode.php?update=0.5593110133088248″ 200″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1;)」61.147.76.51 – [25/sep/2013:16:08:31 +0800]xyzdiy.5d6d.com 「/attachment.php?aid=4554&k=9ce51e2c376bc861603c7689d97c04a1&t=1334564048&fid=9&sid=zgohwyolzq2qpw233zirsjiueu22xqe8f49jy9moursoe71″ 301″ 「mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; .net clr 1.1.4322; .net clr 2.0.50727)」

統計出每個ip訪問量有多少

核心要點

awk、sort、uniq命令

答案

awk

'' 1.log|

sort

|uniq -c |

sort -nr

通過awk輸出1.log檔案的第一引數,排序,去除重複行,並計算每行出現的次數,依照數值大小倒序排序

awk 語法

awk

[awk引數]

[模式動作] 檔案

例子

passwd.txt內容和/etc/passwd檔案內容一致

1、給passwd.txt檔案新增行號

awk

''passwd

nr代表行號,$0代表一整行的內容,print是awk的乙個內部命令所以要放在花括號內

2、顯示passwd.txt的2-6行

awk

`nr==2,nr==6`

passwd.txt

3、顯示passwd.txt檔案的第一列,第三列和最後一列

awk -f ":"

'' passwd.txt

各種$代表什麼意思
$$ ——shell本身的pid(processid) 

$! ——shell最後執行的後台process的pid

$? ——最後執行的命令的結束**(返回值)

$- ——使用set命令設定的flag一覽

$* ——所有引數列表。如"$*"用「"」括起來的情況、以"

$1$2 … $n

"的形式輸出所有引數。

$@ ——所有引數列表。如"

$@"用「"」括起來的情況、以"$1"

"$2" … "$n" 的形式輸出所有引數。

$# ——新增到shell的引數個數

$0 ——shell本身的檔名

$1~$n ——新增到shell的各引數值。$1是第1引數、$2是第2引數…。

sort命令:文字排序

語法

sort

[引數選項] 檔案

預設比較的原則是從首字元向後,依次按ascii碼值進行比較,輸出預設按公升序進行排列。

sort 引數選項

-b:忽略每行開頭存在的空格字元

-n:依照數值大小進行排序

-r:到序排序

-u:去除重複行

-t:指定分隔符

-k:按指定區間排序

uniq:去除重複行

語法

uniq

[選項引數]

[檔案或標準輸入]

選項引數
-c:去除重複行,並計算每行出現的次數

-d:只顯示重複的行

-u:只顯示唯一的行

shell統計ip訪問情況並分析訪問日誌

統計出每個 ip 的訪問量有多少 習題分析 這種分析日誌的需求,在平時工作中很常見,而且找運維工作時的筆試題裡面出現頻率也非常多。根據日誌內容,可以看到 ip 位址就是第一段內容,所以只需要把 1.log 的第一段給過濾出來,然後近一步統計每乙個 ip 的量即可。過濾第一段,使用 awk 就可以很容...

shell統計ip訪問情況並分析訪問日誌

有日誌 1.log,部分內容如下 統計出每個 ip 的訪問量有多少 習題分析 這種分析日誌的需求,在平時工作中很常見,而且找運維工作時的筆試題裡面出現頻率也非常多。根據日誌內容,可以看到 ip 位址就是第一段內容,所以只需要把 1.log 的第一段給過濾出來,然後近一步統計每乙個 ip 的量即可。過...

Nginx 日誌檔案 訪問IP統計

nginx訪問日誌檔案內容如下 python requests 2.4.3 cpython 2.7.9 linux 3.16.0 4 amd64 如何通過命令列統計和排列訪問日誌裡的ip數 linux sort,uniq,cut,wc命令詳解 python 1表示以空格為分割符的第乙個匹配項,也就是...