awk 查詢IP最多的

2021-09-27 05:16:27 字數 1416 閱讀 8554

可用awk來統計固定格式日誌裡的一些資料,如日誌**現過所有不同的ip

awk對檔案進行流處理,每次讀取一行。$1就是ip,count[i]++是將ip作為乙個陣列的下標,並且使得統計這個ip所對應的陣列元素自增1.end後面的語句是列印結果,只執行一次。

也可以用來找出訪問次數最多的ip。

awk ' end ' 日誌檔案 | sort -n | tail -n 10 #用tail顯示最後10行

首先用awk統計出來乙個列表,然後用sort進行排序,最後用tail取最後的10個。

以上引數可以略作修改顯示更多的資料,比如將tail加上-n引數等,另外日誌格式不同命令也可能需要稍作修改。

當前web伺服器中聯接次數最多的ip位址

netstat -ntu |awk '' |sort | uniq -c| sort -nr

檢視日誌中訪問次數最多的前10個ip

cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '' | head -n 10 | less

檢視日誌**現100次以上的ip

cat access_log |cut -d ' ' -f 1 | sort |uniq -c | awk ''|sort -nr | less

檢視最近訪問量最高的檔案

cat access_log | tail -10000 | awk '' | sort | uniq -c | sort -nr | less

檢視日誌中訪問超過100次的頁面

cat access_log | cut -d ' ' -f 7 | sort |uniq -c | awk '' | less

統計某url,一天的訪問次數

cat access_log | grep '12/aug/2009' | grep '/images/index/e1.gif' | wc | awk ''

前五天的訪問次數最多的網頁

cat access_log | awk '' | uniq -c | sort -n -r | head -20

從日誌裡檢視該ip在幹嘛

cat access_log | grep 218.66.36.119 | awk '' | sort | uniq -c | sort -nr | less

列出傳輸時間超過 30 秒的檔案

cat access_log | awk '($nf > 30)' | sort -n | uniq -c | sort -nr | head -20

列出最最耗時的頁面(超過60秒的)

cat access_log | awk '($nf > 60 && $7~/.php/)' | sort -n | uniq -c | sort -nr | head -100

awk 獲取ip位址的學習

請執行命令取出linux中eth0的ip位址 請用cut,有能力者也可分別用awk,sed命令答 解答 方法一 此法為綠葉 如果用awk來處理的話,一般的同學可能會用下面的辦法實現 root oldboy ifconfig eth0 grep inet addr awk f awk 10.0.0.1...

Linux中awk統計ip訪問次數

現在有乙個檔案,資料量大概在200多萬條記錄,想用shell的awk做統計,檔案的格式如下 關鍵字 url ip位址 test 123 1 test 123 1 test 123 2 test2 12 1 test2 123 1 test2 123 2 現在想要統計的結果是 檢視同乙個關鍵字和url...

查詢IP區段

using system 2using system.collections.generic 3using system.text 4using system.net 56namespace iputility723 2425 2627 public class iprange 28 41 set ...