grep :文字過濾工具,或者文字搜尋工具,對文字進行逐行匹配檢查並列印。(能使用正規表示式搜尋文字)
常用引數:
-a 不要忽略二進位制資料。
-a《顯示列數》 除了顯示符合範本樣式的那一行之外,並顯示該行之後的內容。
-b 在顯示符合範本樣式的那一行之外,並顯示該行之前的內容。
-c 計算符合範本樣式的列數。
-c《顯示列數》或-《顯示列數》 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
-d《進行動作》 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep命令將回報資訊並停止動作。
-e《範本樣式》 指定字串作為查詢檔案內容的範本樣式。
-e 將範本樣式為延伸的普通表示法來使用,意味著使用能使用擴充套件正規表示式。
-f《範本檔案》 指定範本檔案,其內容有乙個或多個範本樣式,讓grep查詢符合範本條件的檔案內容,格式為每一列的範本樣式。
-f 將範本樣式視為固定字串的列表。
-g 將範本樣式視為普通的表示法來使用。
-h 在顯示符合範本樣式的那一列之前,不標示該列所屬的檔名稱。
-h 在顯示符合範本樣式的那一列之前,標示該列的檔名稱。
-i 忽略字元大小寫的差別。
-l 列出檔案內容符合指定的範本樣式的檔名稱。
-l 列出檔案內容不符合指定的範本樣式的檔名稱。
-n 在顯示符合範本樣式的那一列之前,標示出該列的編號。
-q 不顯示任何資訊。
-r/-r 此引數的效果和指定「-d recurse」引數相同。
-s 不顯示錯誤資訊。
-v 反轉查詢。
-w 只顯示全字符合的列。
-x 只顯示全列符合的列。
-y 此引數效果跟「-i」相同。
-o 只輸出檔案中匹配到的部分。
grep命令常見用法
在檔案中搜尋乙個單詞,命令會返回有搜尋單詞的文字行,例:
從file_name檔案中搜尋包含pattern的行
grep "pattern" file_name
在多個檔案中查詢
grep "pattern" file_1 file_2 file_3 ...
-v :輸出匹配之外的所有行
grep -v "pattern" file_name
標記匹配顏色 –color=auto 選項:
grep "match_pattern" file_name --color=auto
使用正規表示式 -e 選項:
grep -e "[1-9]+" file_name
只輸出檔案中匹配到的部分 -o 選項:
grep -o -e "[a-z]" file_name
統計檔案或者文字中包含匹配字串的行數 -c 選項:
grep -c "text" file_name
輸出包含匹配字串的行數 -n 選項:
grep "text" -n file_name
或cat file_name | grep "text" -n
搜尋多個檔案並查詢匹配文字在哪些檔案中:
grep -l "text" file1 file2 file3...
在多級目錄中對文字進行遞迴搜尋:
grep "text" . -r -n
# .表示當前目錄。
忽略匹配樣式中的字元大小寫:
echo "hello world" | grep -i "hello"
hello
列印出匹配文字之前或者之後的行:
#顯示匹配某個結果之後的3行,使用 -a 選項:
grep "test" -a 3 file.txt
#顯示匹配某個結果之前的3行,使用 -b 選項:
grep "test" -b 3 file.txt
#顯示匹配某個結果的前三行和後三行,使用 -c 選項:
grep "test" -c 3 file.txt
參考鏈結 Linux grep命令正規表示式的常見用法
在當前目錄下有如下日誌檔案 1 顯示指定日期內的日誌 假設我們要顯示20151001到20151005之間的日誌,可以在終端下執行ls grep 2015100 1 5 log 執行效果如下 以上命令中的 為管道連線符,可以把ls的輸出結果做為grep命令的輸入。在正規表示式中 符號表示行首,檔名前...
linux grep命令的使用
用 grep 搜尋文字檔案 如果您要在幾個文字檔案中查詢一字串,可以使用 grep 命令。grep 在文字中搜尋指定的字串。假設您正在 usr src linux documentation 目錄下搜尋帶字串 magic 的檔案 grep magic usr src linux documentat...
linux grep命令的使用
用 grep 搜尋文字檔案 如果您要在幾個文字檔案中查詢一字串,可以使用 grep 命令。grep 在文字中搜尋指定的字串。假設您正在 usr src linux documentation 目錄下搜尋帶字串 magic 的檔案 grep magic usr src linux documentat...