grep 高階例解

2021-06-18 16:41:03 字數 1054 閱讀 1686

grep 是在linux查詢文字過程最常用的命令,熟悉grep的一些常用命令,可以在個別時候有效提高工作效率。

場景一:需要查詢乙個目錄及子目錄所有檔案中出現 aaa 但是同時不能出現bbb的行,查詢不區分大小寫

grep -rin 'aaa'|grep -v  bb

解釋:r 遞迴查詢

i 不區分大小寫

n 顯示行號

v  反向匹配(形象點就是不允許出現的)

場景二:待查詢的檔案有幾千萬行,你的規則有幾百條

grep -f patter.txt file

f :後跟規則檔案,把每條正規表示式寫入patrern.txt中

場景三:你需要使用linux擴充套件正在表示式

grep -e pattern file

預設情況下grep只支援基礎正在表示式,e選項可以支援擴充套件表示式(也可以待地gerp -e 為egrep)

什麼是擴充套件正在表示式?

linux擴充套件正在表示式 是在原有標準正規表示式

+    重複乙個或者乙個以上的前乙個字元,如a+表示乙個以上的a

?    0個或者1個前乙個字元,如a?表示空白或者1個a

|    或,如要查詢aa或者bb這兩個字串,egrep -n 'aa|bb  file

()    查詢組字串,如查詢head或者had, egrep -n 'h(ea|a)d' file

()+    多個重複組的判別,如查詢a開頭c結尾,中間有乙個以上的xyz或aaa,egrep -n 'a(xyz|aaa)+c' file

場景四:你想看到被匹配的行周圍(前後)的行

grep -a2  -b2  'aaa'  file

-a :after,顯示匹配行後的行 -a2 顯示 後2行

-b :before,顯示匹配行前的行 -b2 顯示 前2行

如果你真的同時需要顯示,前後各n行,那麼你可以用-c選項

grep -c2 'aaa' file 作用與-a2 -b2完全相同

grep 高階使用

grep 工具 用途 輸出包含指定字串的行 格式 grep 選項 查詢條件 目標檔案 常用命令選項 i 查詢時忽略大小寫 v 反轉查詢,輸出不符合查詢條件的行 示例 root localhost grep v root etc passwd 查詢檔案中除了 root 的所有行 root localh...

grep與egrep用法從基礎到高階高階

一 grep 國際音標 grep grep是shell指令碼中的文字搜尋工具,根據使用者指定的文字模式對目標檔案進行逐行搜尋,顯示能被模式所匹配到的行。格式 grep options pattern file,常用選項 v 反向匹配,顯示不能被模式所匹配到的行。o 僅顯示被模式匹配到的字串,而非整行...

grep正規表示式 高階

正規表示式只是字串的一種描述,只有和支援正規表示式的工具相結合才能進行字串處理。本文以grep為例來講解正規表示式。grep命令 功能 輸入檔案的每一行中查詢字串。基本用法 grep acinv color auto a n b n 搜尋字串 檔名 引數說明 a 將二進位制文件以文字方式處理 c 顯...