grep 文件過濾分割與合併正則表達式
grep(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
express
選項
ide
-A<顯示列數> 除了顯示符合範本樣式的那一行以外,並顯示該行以後的內容。工具
-B 顯示關鍵字的後行數spa
-C 顯示關鍵字的先後行數orm
-E 將範本樣式爲延伸的普通表示法來使用,意味着使用能使用擴展正則表達式。遞歸
-i 胡列字符大小寫的差異。字符串
-l 列出文件內容符合指定的範本樣式的文件名稱。it
-L 列出文件內容不符合指定的範本樣式的文件名稱。io
-n 在顯示符合範本樣式的那一列以前,標示出該列的編號。
-q 不顯示任何信息。
-R/-r 此參數的效果和指定「-d recurse」參數相同。
-s 不顯示錯誤信息。
-v 反轉查找。
-w 只顯示全字符合的列。
-x 只顯示全列符合的列。
-y 此參數效果跟「-i」相同。
-o 只輸出文件中匹配到的部分。
經常使用實例
查找顏色顯示
grep --color "match_pattern" file_name # 或者--color=auto
查找忽略大小寫查找
echo "hello world" | grep -i "HELLO"
多級目錄中對文本進行遞歸併顯示內容
grep -rn "text" path/ #查找目錄要-r,-n顯示行號,一個文件可能會顯示多行
多級目錄中對文本進行遞歸併顯示文件名
grep -rl "text" path/
查找關鍵字後的2行, After
grep -A 2 kim a.txt
查找關鍵字前2行, Before
grep -B 2 kim a.txt
查找關鍵字先後2行
grep -C 2 kim a.txt
擴展查找字符串
grep -E 'kim|root' /etc/passwd
反轉查找grep -v kim a.txt