三劍客實戰Nginx日誌分析

2021-10-23 05:16:32 字數 1659 閱讀 4211

2 提取nginx.log中的訪問量最多的三個ip位址

3 將 nginx.log 中的topics/數字替換成固定值

4 將ip位址橫向列印

以下是nginx.log中的部分日誌

方法1:使用grep的-c引數

$grep

-e -c ' 404 | 500 ' nginx.log

267

分析:

』 404 | 500 '是正規表示式,其中|代表或,所以要用到擴充套件正則:-e ,另外也可以寫成-ce,如下:

$grep

-ce ' 404 | 500 ' nginx.log

267

方法2: 使用wc -l

$grep

-e ' 404 | 500 ' nginx.log | wc -l

267

拓展:grep的-c 和wc -l是輸出滿足條件的行數,若一行當中有多個符合條件的404或500,那麼統計方法有誤,需要使用grep 的-o 是輸出所有的匹配內容,然後再統計

$grep

-e -c -o ' 404 | 500 ' nginx.log

267

$awk

'$9~/404|500/' nginx.log | wc -l

267

方法1:

$grep

-e -o '^[0-9.[0-9].[0-9].[0-9]' nginx.log |

sort

| uniq -c |

sort

-nr | head -3

282 216.244.66

142 40.77.167

130 136.243.151

方法2:

$grep

-e -o '^[0-9.[0-9].[0-9].[0-9]' nginx.log |

sort

| uniq -c |

sort

-n | tail -3

130 136.243.151

142 40.77.167

282 216.244.66

方法3:

$awk

'' nginx.log |

sort

| uniq -c |

sort

-nr | head -3

282 216.244.66.241

130 136.243.151.90

110 127.0.0.1

$sed  s#topics/[0-9]*#topics/number#g nginx.log | head -10
$awk

'' nginx.log | sed ':1;n;s/\n/|/g;t1'

三劍客Nginx日誌分析

查詢檔案內容包含root的行數 grep n root test.txt 查詢檔案內容不包含root的行 grep nv root test.txt 查詢以s開頭的行 grep s test.txt 查詢以n結尾的行 grep n test.txt 在第四行後新增新字串 sed e 4 a newl...

Linux三劍客之sed實戰

sed是linux中一種流編輯器,是文字處理非常有力的工具,支援將資料進行替換 刪除 新增 選取等功能。首先將決定選取哪些行進行編輯,規則可以是數字 正規表示式等,若沒有限制,則將處理輸入檔案的所有行。在處理時,將當前行儲存在臨時快取區中,稱為 模式空間 然後使用sed指令處理緩衝區的內容,處理成功...

文字三劍客

檔案萬用字元和正規表示式 文字過濾工具grep linux系統中,一切皆檔案。強大的文字編輯和處理工具便必不可少了,在linux系統中,有文字處理三劍客 grep,sed,awk。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...