grep:(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
語法: grep '要查找的內容' 文件名
範例: grep 'test' test1.txt test2.txt 在test1.txt test2.txt兩個文件中查找test並打印出來。
參數:
-v:輸出除了查找內容外的內容。
範例:grep -v 'test' test.txt 打印test.txt文件中不是test的內容。
-E:使用正則表達式 -E 選項:
範例:grep -E '[a-z]+' test.txt 打印test.txt文件中符合正則的內容。
-o:只輸出文件中匹配到的部分 -o 選項:
範例:echo this is a test line. | grep -o -E "[a-z]+\." echo this is a test line. | egrep -o "[a-z]+\."
-c:統計文件或者文本中包含匹配字符串的行數(有幾行):
範例:grep -c 'test' test.txt 輸出test.txt文件中出現字符串test 的次數。
-n:輸出包含匹配字符串在文本的第幾行並輸出字符串:
範例:grep -n 'test' test.txt 輸出test字符串在test.txt文本的第幾行。
-I:搜索多個文件並查找匹配文本在哪些文件中,打印出文件名:
範例:grep -I 'test' test.txt test1.txt 搜索test字符串在那個文件中,並打印出文件名。
-i:忽略匹配樣式中的字符大小寫:
範例:grep -i "HELLO" test.txt 不區分大小寫的test.txt文件中查找hello字符串。
在多級目錄中對文本進行遞歸搜索:
範例:grep -r -n 'test' . 在當前目錄及子目錄下查找字符串test並打印有test字符串的文件路徑、文件名 在文件的第幾行, 點 . 表示當前目錄。