OS Linux 三大文字處理工具之grep命令

2022-04-04 14:28:29 字數 1848 閱讀 1523

語法:grep  [選項]   搜尋詞    搜尋的檔案

選項:

-i :忽略大小寫(ignore case)。

-v :反過來(invert),只列印沒有匹配的,而匹配的反而不列印。

-n :顯示行號(number)

-w :全詞(word)匹配,如文字中有liker,而我搜尋的只是like,就可以使用-w選項來避免匹配liker

-c :統計(count)含有搜尋詞的行有多少個,僅列印統計的數值而不列印行的內容。注意如果同時使用-cv選項是顯示有多少行沒有被匹配到。

-o :只(only)顯示被匹配到的字串。

--color :將匹配到的內容以顏色高亮顯示。

-a  n:顯示匹配到的字串所在的行及其後n行,after

-b  n:顯示匹配到的字串所在的行及其前n行,before

-c  n:顯示匹配到的字串所在的行及其前後各n行,context

-e :開啟擴充套件(extend)的正規表示式。

示例:

搜尋詞:

1、直接輸入要搜尋的字串,此時可以用fgrep(fast grep)來代替以提高查詢速度,比如我要匹配一下hello.c檔案中printf的個數:grep  -c  "printf"  hello.c

2、使用正規表示式描述搜尋詞,下面談關於基本正規表示式的使用:

字元匹配:

. :任意乙個字元。

[abc] :表示匹配乙個字元,這個字元必須是abc中的乙個。

[^123] :反向匹配,這個字元不能是1、2、3中的任意乙個。

[a-za-z] :表示匹配乙個字元,這個字元必須是a-z或a-z這52個字母中的乙個。

對於一些常用的字符集,系統做了定義:

[a-za-z] 等價於 [[:alpha:]]

[0-9] 等價於 [[:digit:]]

[a-za-z0-9] 等價於 [[:alnum:]]

tab,space 等空白字元 [[:space:]]

[a-z] 等價於 [[:upper:]]

[a-z] 等價於 [[:lower:]]

標點符號 [[:punct:]]

次數匹配

x\:m 個連續的字元x

x\:m個以上連續的字元x

x\:m~n個連續的字元x   

x*:連續任意個字元x,例如: /[abc] */表示abc中任意字元的若干次      

位置匹配:

^ :行首匹配

$ :行尾匹配。技巧:"^$"用於匹配空白行。

\《待匹配的字串:詞首匹配。如"\待匹配的字串\>:詞尾匹配。如"like\>"不會匹配liker,只會匹配alike

本部落格參照與:linux中grep命令的用法

文字處理工具

參考 man,info,magedu講義 宣告 以下英文純屬個人翻譯,英文b級,歡迎糾正,以下內容純屬個人理解,並沒有對錯,只是參考,盜版不糾,才能有限,希望不誤人子弟為好。these commands read and write entire files,possibly transformin...

文字處理工具

linux 上文字處理三劍客 grep 文字過濾工具 模式 pattern awk linux上的實現為gwak 文字報告生成器 格式化文字 正規表示式 regual expression regexp 由一類特殊字元及文字所編寫的模式,其中有些字元表示其字面意義,grep options colo...

文字處理工具

文字處理工具 檔案內容 cat,more,less 檔案擷取 head,tail 按列抽取 cut 排序和統計 sort,wc 按關鍵字抽取 grep 檔案檢視 cat,nl,tac,rev catnl tacrev,每一行的內容會倒序顯示 more,分頁顯示 less,分頁顯示,到最後一行不會退出...