GREP簡單使用

2022-09-05 03:27:12 字數 2370 閱讀 9809

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 命令中的需要查詢的字串十分靈活,可以是字串,也可以是變數,還可以是正規表示式。需要注意的是,無論是體積形式,只要包含空格,就需要使用雙引號將其引起來,如果不加雙引號,空格後的字串會被認為為是檔名。

grep的規則表示式簡介

^#錨定行的開始 如:'^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 基礎教程 23

每天乙個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,如果...