linux裡grep搜尋的用法

2021-09-22 01:31:16 字數 1966 閱讀 1072

有測試檔案test.txt一枚,內容如下

aaabbbccc

aaadddeee

abcsdfjasldjf

bcdokm

abc一、基本搜尋常用

1、現在想把abc okm篩選出來

結果:abc

okm2、把帶a的行篩選出來,不區分大小寫

grep -i 「a」 test.txt

結果:aaabbbccc

aaadddeee

abcsdfjasldjf

abc3、把帶a的行篩選出來,只要小寫的

grep 「a」 test.txt

結果:aaabbbccc

abcsdfjasldjf

4、把出現abc篩選出來,不區分大小寫

grep -i 「abc」 test.txt

結果:abc

sdfjabcasldjf

abc5、把出現abc整個單詞的篩選出來

grep -w 「abc」 test.txt

結果:abc

6、把出現abc整個單詞篩選出來,不區分大小寫

grep -wi 「abc」 test.txt

結果:abc

abc二、

明確要求搜尋子目錄:grep -r

或忽略子目錄:grep -d skip

三、正則匹配

格式grep [options]

[options]主要引數:

-c:只輸出匹配行的計數。

-i:不區分大 小寫(只適用於單字元)。

-h:查詢多檔案時不顯示檔名。

-l:查詢多檔案時只輸出包含匹配字元的檔名。

-n:顯示匹配行及 行號。

-s:不顯示不存在或無匹配文字的錯誤資訊。

-v:顯示不包含匹配文字的所有行。

pattern正規表示式主要引數:

\: 忽略正規表示式中特殊字元的原有含義。

^:匹配正規表示式的開始行。

$: 匹配正規表示式的結束行。

>:到匹配正規表示式的行結束。

[ ]:單個字元,如[a]即a符合要求 。

[ - ]:範圍,如[a-z],即a、b、c一直到z都符合要求 。

。:所有的單個字元。

* :有字元,長度可以為0。

grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,
grep -l pattern files :只列出匹配的檔名,

grep -l pattern files :列出不匹配的檔名,

grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配』magic』,而不是』magical』),

grep -c number pattern files :匹配的上下文分別顯示[number]行,

grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。

grep -n pattern files 即可顯示行號資訊

grep -c pattern files 即可查詢總行數

簡單例項

grep 『test』 d*

顯示所有以d開頭的檔案中包含 test的行。

grep 『test』 aa bb cc

顯示在aa,bb,cc檔案中匹配test的行。

grep 『[a-z]』 aa

顯示所有包含每個字串至少有5個連續小寫字元的字串的行。

more test.txt | grep 『[a-b]』 範圍 ;如[a-z]即a,b,c一直到z都符合要求

結果:aaabbbccc

abcsdfjabcasldjf

bcdgrep 『^a』 test.txt 搜尋以a開頭的

linux的grep的用法

grep a after 錨定行的開始 如 grep 匹配所有以grep開頭的行。錨定行的結束 如 grep 匹配所有以grep結尾的行。匹配乙個非換行符的字元 如 gr.p 匹配gr後接乙個任意字元,然後是p。匹配零個或多個先前字元 如 grep 匹配所有乙個或多個空格後緊跟grep的行。一起用代...

linux中grep的用法

過濾多個關鍵字 grep e root mysql etc passwd root 0 0 root root bin bash operator 11 0 operator root sbin nologin mysql 500 500 home mysql sbin nologin 排除多個關鍵...

linux中grep的用法

grep 引數 匹配項 檔案a 檔案b grep i the text.txt 忽略the的大小寫在檔案中進行匹配 grep v the text.txt 在檔案中匹配不含the行 grep n the text.txt 在檔案中匹配the並且顯示行號 grep c the text.txt 統計匹...