grep awk 搜索日誌經常使用命令

0 grep 經常使用參數

參考: GNU Grep 3.0html

--color:高亮顯示匹配到的字符串
-v:顯示不能被pattern匹配到的
-i:忽略字符大小寫
-o:僅顯示匹配到的字符串
-q:靜默模式,不輸出任何信息
-A#:after,匹配到的後#行
-B#:before,匹配到的前#行
-C#:context,匹配到的先後各#行
-E:使用ERE,支持使用擴展的正則表達式

-c:只輸出匹配行的計數。
-I:不區分大 小寫(只適用於單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及 行號。
- m: 匹配多少個關鍵詞以後就中止搜索
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的全部行。

1 普通:搜索trace.log 中含有ERROR字段的日誌

grep ERROR trace.log 正則表達式

2 輸出文件:能夠將日誌輸出文件中

grep ERROR trace.log > error.log日誌

3 反向:搜索不包含ERROR字段的日誌

grep -v ERROR trace.logcode

4 向前:搜索包含ERROR,而且顯示ERROR前10行的日誌

grep -B 10 ERROR trace.loghtm

5 向後:搜索包含ERROR字段,而且顯示ERROR後10行的日誌

grep -A 10 ERROR trace.log字符串

6 上下文:搜索包含ERROR字段,而且顯示ERROR字段先後10行的日誌

grep -C 10 ERROR trace.logget

7 多字段:搜索包含ERROR和DEBUG字段的日誌

gerp -E 'ERROR|DEBUG' trace.logawk

8 多文件:從多個.log文件中搜索含有ERROR的日誌

grep ERROR *.log擴展

9 省略文件名:從多個.log文件中搜索ERROR字段日誌,並不顯示日誌文件名

從多個文件中搜索的日誌默認每行會帶有日誌文件名搜索

grep -h ERROR *.log

10 時間範圍: 按照時間範圍搜索日誌

awk '$2>"17:30:00" && $2<"18:00:00"' trace.log
日誌形式以下, $2表明第二列即11:44:58, awk須要指定列

11-21 16:44:58 /user/info/

11 有沒有:搜索到第一個匹配行後就中止搜索

grep -m 1 ERROR trace.log

相關文章
相關標籤/搜索