Linux三劍客之grep 花匠

2022-09-23 06:33:07 字數 1439 閱讀 2337

grep (縮寫來自globally search a regular expression and print)是一種強大的文字搜尋工具,它能使用特定模式匹配(包括正規表示式)搜尋文字,並預設輸出匹配行。unix的grep家族包括grep、egrep和fgrep, egrep和fgrep是grep的擴充套件,與windows下命令findstr類似。

命令格式:? grep string filename

--color ???同—color=auto?? 高亮顯示匹配到的字串,也可使用別名alias實現,alias grep=『grep –color=auto』

-v ??? --revert-match,反向查詢,即輸出沒有匹配到的字串

-i? ??? --ignore-case,忽略大小寫

-n???? --line-number,在匹配到的內容前顯示行號

-c???? --count,匹配到字串的行數,不是匹配到的次數

-o ???? grep預設輸出匹配到字串所在行的全部內容,-o選項僅顯示匹配到的字串,每個匹配到的字串都會顯示為一行,即若在一行中匹配到n個字串,會輸出n行字串(每行乙個字串)(用於統計字串出現在文字中的次數)

-w????? 完全匹配整個單詞,不匹配含有字串的單詞,例如magic不匹配會magical

-a????? 把二進位制檔案當做文字處理

-an(after) 顯示匹配字串及其後n行資料

-bn(before) 顯示匹配字串及其前n行資料

-cn(context) 顯示匹配到的字串及其前後n行

例:grep 'linux'? ?test.txt? ?test2.txt? ?//從多個檔案中查詢linux

多檔案查詢時,會把檔名在行首輸出,並且加上":"作為標示符。

例:find . -name ".log" | grep -i error | grep -vi "info"

1、使用find -name 來列出所有log檔案,重定向給grep

2、使用grep -i 來查詢包含error的行

3、使用grep -vi 來查詢不包含info的行

egrep與grep -e

grep 過濾多個條件

錯誤寫法:

netstat -an|grep "established|wait"????? //預設grep不支援多條件匹配???

正確寫法:

netstat -an|grep -e "established|wait"??? //grep -e 並將條件用""包起來,條件之間用「|」管道符分開

grep -e? '123|abc'? filename? // 找出檔案(filename)中包含123或者包含abc的行

egrep? '123|abc'? filename??? // 用egrep同樣可以實現

awk? '/123|abc/'? filename?? // awk 的實現方式

linux 三劍客之 grep

grep 是 linux系統中最重要的命令之一 其功能是從文字或者管道資料中篩選匹配的行及資料 如果配置正規表示式技術一起使用,則其功能更強大,它是linux運維人員必須要掌握的命令之一 usage grep option pattern file 用法 grep 引數 要搜尋的內容 檔案 eg r...

Linux三劍客之grep

1.用途 linux grep命令是用於查詢檔案裡符合條件的字串 2.語法 grep 選項 搜尋的字串 檔案 3.常見的選項 e 開啟擴充套件 extend 的正規表示式。i 忽略大小寫 ignore case v 反過來 invert 只列印沒有匹配的,而匹配的反而不列印。n 顯示行號 w 被匹配...

linux三劍客之grep

color auto 或者 color 表示對匹配到的文字著色顯示 i 在搜尋的時候忽略大小寫 n 顯示結果所在行號 c 統計匹配到的行數,注意,是匹配到的總行數,不是匹配到的次數 o 只顯示符合條件的字串,但是不整行顯示,每個符合條件的字串單獨顯示一行 v 輸出不帶關鍵字的行 反向查詢,反向匹配 ...