grep 是 (global search regular expression and print out the line) 的簡稱,即全面搜尋正規表示式並列印行,該命令是 linux 中的一種非常強大的文字搜尋工具,它可以根據指定的字串,對檔案的每一行進行搜尋,如果找到該字串,則輸出該行的內容。
目錄下查詢匹配字元
grep -iirn '***' .
輸出匹配數值
grep -p '***x=(\d+)' -o
grep [引數] 需要查詢的字串 檔名
顯示符合條件的行,同時顯示該行後的num行
-a num
顯示符合條件的行,同時顯示改行之前的num行
-b num
只顯示符合條件的行數,而不顯示具體資訊,即統計行數情況
-c
搜尋時忽略大小寫
-i
搜尋多個檔案時不顯示檔名
-h
只顯示符合匹配的檔名,而不顯示具體匹配行
-l
顯示所有匹配的行,並顯示行號
-n
不顯示不存在或無匹配文字的錯誤資訊
-s
顯示不包含匹配文字的所有行
-v
匹配整個詞
-w
匹配整行
-x
遞迴搜尋,不僅僅搜尋當前目錄,也搜尋子目錄
-r
不輸出任何結果,已退出狀態表示是否搜尋成功
-q
列印匹配行距離檔案頭部的偏移量,以位元組為單位
-b
輸出匹配的內容而不是整行
-o
支援擴充套件的正規表示式
-e
grep 命令中的需要查詢的字串十分靈活,可以是字串,也可以是變數,還可以是正規表示式。需要注意的是,無論是體積形式,只要包含空格,就需要使用雙引號將其引起來,如果不加雙引號,空格後的字串會被認為為是檔名。
linux 基礎教程 23grep的規則表示式簡介
^#錨定行的開始 如:'^grep'匹配所有以grep開頭的行。
$#錨定行的結束 如:'grep$'匹配所有以grep結尾的行。
.#匹配乙個非換行符的字元 如:'gr.p'匹配gr後接乙個任意字元,然後是p。
*#匹配零個或多個先前字元 如:'*grep'匹配所有乙個或多個空格後緊跟grep的行。
.*#一起用代表任意字元。
#匹配乙個指定範圍內的字元,如'[gg]rep'匹配grep和grep。
[^]#匹配乙個不在指定範圍內的字元,如:'[^a-fh-z]rep'匹配不包含a-r和t-z的乙個字母開頭,緊跟rep的行。
\(..\)
#標記匹配字元,如'\(love\)',love被標記為1。
\<
#錨定單詞的開始,如:'\#錨定單詞的結束,如'grep\>'匹配包含以grep結尾的單詞的行。
x\#重複字元x,m次,如:'0\'匹配包含5個o的行。
x\#重複字元x,至少m次,如:'o\'匹配至少有5個o的行。
x\#重複字元x,至少m次,不多於n次,如:'o\'匹配5--10個o的行。
\w#匹配文字和數字字元,也就是[a-za-z0-9],如:'g\w*p'匹配以g後跟零個或多個文字或數字字元,然後是p。
\w#\w的反置形式,匹配乙個或多個非單詞字元,如點號句號等。
\b#單詞鎖定符,如: '\bgrep\b'只匹配grep。
每天乙個linux命令(39):grep 命令
linux命令大全-grep
linux的grep命令簡單使用
linux的grep命令學習 grep命令是乙個很強大的文字查詢命令,grep全稱是global regular expression print,可以配合正規表示式來使用 grep常見的兩種使用方式 基於檔案的查詢,使用格式為 grep 命令引數 待匹配模式串 查詢檔案 為可選的引數 例如 gre...
grep的簡單理解
概述 grep最早由肯 湯普遜寫成。原先是ed下的乙個應用程式,名稱來自於g re p globally search a regular expression and print,以正則進行全域查詢以及列印 在ed下,輸入g re p這個命令後,會將所有匹配 定義樣式 的字串,以行為單位列印出,但...
GREP使用簡介
grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...