Linux grep常用命令


在一個文件中同時查找多個字符串:

並集語法:

grep -e 'pattern1 -e 'pattern2 file

或集語法:

1、grep -E 'pattern1|pattern2' file

2、egrep 'pattern1|pattern2' file

3、grep 'pattern1|pattern2' file

egrep 等同於 grep -E 。它會以擴展的正則表達式的模式來解釋模式。下面來自 grep 的幫助頁:
基本的正則表達式元字符 ?、+、 {、 |、 ( 和 ) 已經失去了它們原來的意義,要使用的話用反斜線的版本 /?、/+、/{、/|、/( 和 /) 來代替。 傳統的 egrep 並不支持 { 元字符,一些 egrep 的實現是以 /{ 替代的,所以一個可移植的腳本應該避免在 grep -E 使用 { 符號,要匹配字面的 { 應該使用 [}]。
GNU grep -E 試圖支持傳統的用法,如果 { 出在在無效的間隔規范字符串這前,它就會假定 { 不是特殊字符。
例如,grep -E ‘{1′ 命令搜索包含 {1 兩個字符的串,而不會報出正則表達式語法錯誤。
POSIX.2 標准允許這種操作的擴展,但在可移植腳本文件里應該避免這樣使用。

在多個文件中同時查找一個或多個字符串:

語法:

grep 'pattern*' file1 file2

例子:
檢索日志文件中的cms及"moduleId":6000關鍵詞

##實時查看
$ tail -f /export/Logs/Domains/m.jd.id/server1/logs/catalina.out|grep --color -E 'cms|"moduleId":6000'
##查看所有歷史
$ grep --color -E 'cms|"moduleId":6000'
/export/Logs/Domains/m.jd.id/server1/logs/catalina.out

完全匹配關鍵詞

$ grep -w 'cms\|campaign\' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用egrep命令,使用擴展的正則表達式

$ egrep -w 'cms|campaign' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用grep的-e參數關鍵詞

$ grep -e 'cms|campaign' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用-i參數忽略大小寫,–color高亮顯示匹配結果

$ egrep -wi --color 'cms|campaign' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

示例輸出 

使用-i參數忽略大小寫,–color高亮顯示匹配結果

$ egrep -wi --color 'cms|campaign' /export/Logs/Domains/m.jd.id/server1/logs/*.out

示例輸出 

 

遞歸查找

# egrep -Rwi --color 'foo|bar' /etc/


------------------------------------------------------Tanwheey-------------------------------------------------------------------------

愛生活,愛工作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM