假設存在日志文件 hrun.log,查詢的關鍵字為"新增用戶":
根據關鍵字查看日志
cat hrun.log | grep "新增用戶"
根據關鍵字查看后10行日志
cat hrun.log | grep "新增用戶" -A 10
根據關鍵字查看前10行日志
cat hrun.log | grep "新增用戶" -B 10
根據關鍵字查看前后10行日志,並顯示出行號
cat -n hrun.log | grep "新增用戶" -C 10
查看日志前 50 行
cat hrun.log | head -n 50
查看日志后 50 行,並顯示出行號
cat -n hrun.log | tail -n 50
說明:
-A 表示關鍵字之后,After
-B 表示關鍵字之前,Before
-C 表示關鍵字前后,Context
linux之grep命令
grep是一個多用途的文本搜索工具,linux中使用非常頻繁,並且使用很靈活,可以是變量,也可以是字符串。最基本的用法有以下兩種:
1.搜索內容中無空格,可以直接執行grep命令,比如:grep pass a.txt,表示在a.txt文件中搜索pass所在的行。
2.如果搜索內容中有空格,則需要使用單引號或者雙引號把搜素內容引起來,比如:
grep "hello all" a.txt或者grep 'hello all' a.txt,如果不加單雙引號,則提示搜搜錯誤,無法識別,因為不加引號,直接grep hello all a.txt,表示在all 和a.txt中搜索hello,這肯定是不對的
grep的一些參數命令:
1. grep -c option file:顯示文件中包含搜索內容行數,比如前面的命令表示顯示 file中包含option內容的行數是幾
2. grep -n option flie:列出所有的匹配行,並在最前面添加行的序列數
3. grep -v option file:顯示文件中不包含所搜索內容的行數,這個和-c的參數正好相反
4. grep -i option file:列出所搜索內容的匹配行,搜索過程中不區分大小寫
5. grep -l option *:列出所有包含option內容的文件的名
6. grep -r option :對當前目錄和所有的子目錄進行搜索
7. grep -w option file:精確搜索,可以說准確性搜索,比如:grep -w b* a.txt:此命令執行時,*不會默認為任何字符,只表示字面意思,就是一個*字符.
8. grep -x option file:完全匹配輸出,比如:grep -x hello a.txt,只會輸出某一行存在hello字符串,並且此行僅包含hello的內容。假設a.txt中有一行“hello all”,執行上述命令,此行不會被搜索到。