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 顯...