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。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...