linux grep命令詳解

2022-03-25 16:28:00 字數 2227 閱讀 5501

grep( global search regular expression and print out the line : 全面搜尋正規表示式並把行列印出來)是一種強大的linux文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。

grep [option] pattern file 

grep [-acinv] [--color=auto] '搜尋的字串' filename

選項與引數:

1. -a : 把binary文以text檔案的方式搜尋資料。

2.-c : 計算找到『搜尋字串』的次數。

3.-i : 忽略大小寫放入不同,所以大小寫視為相同。

4.-n :順便輸出行號。

5.-v : 反向選擇,亦即顯示出沒有『搜尋字串』內容的那一行。

6.--color = auto : 可以將找到的關鍵字那部分加上顏色的顯示出來。

根據檔案內容遞迴查詢目錄:

1 grep ' findcontent ' *#在當前目錄搜尋帶有『findcontent』行的檔案

2 grep -r ' findcontent' #在當前目錄及其子目錄下搜尋' findcontent '行的檔案。

3 grep -l -r 'findcontent' #在當前目錄及其子目錄搜尋'findcontent'行的檔案,但是不顯示匹配的行,只顯示匹配的檔案。

grep -c n foo file 顯示file檔案裡匹配foo字串的那行及上下n行

grep  n foo file 顯示file檔案裡匹配foo字串的那行及上下n行

grep -b n foo file 顯示foo及前5行

grep -a n foo file 顯示foo以及後5行

檢視mysql慢日誌中ip位址為192.168.0.10傳送過來的sql語句的後面三行

1.tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 

'192.168.0.10'  

匹配php錯誤日誌中某乙個字段

2,tail -100 /data/logs/php/php_error_5.3.log  | grep  "memcache::get()";

檢視某乙個檔案第5行和第10行

sed -n '5,10p' filename 這樣你就可以只檢視檔案的第5行到第10行

1.匹配乙個指定範圍內的字元,如'[gg]rep'匹配grep和grep

例子: grep -n 't[ae]st' filename.txt  ---->  匹配tast和test,表示我們想要在filename.txt檔案中搜尋tast和test兩個單詞,並且輸出行號。

2.^ 表示錨定行的開始,如:'^grep'匹配所有以grep開頭的行。

3.$ 表示錨定行的結束 如:』grep$『匹配所有以grep結尾的行。

4. . 匹配乙個非換行符的字元,如:'gr.p' 匹配gr後接乙個任意字元,然後是p。

5. * 匹配零個或多個先前字元,如:'g*rep' 匹配所有乙個或者多個g字元後緊跟rep的行。

6. .* 一起用代表任意字元

7. [^]匹配乙個不在指定範圍內的字元,如: [^g]oo 搜尋有oo的行,但不想要oo前面有g。

例項1:查詢程序

ps -ef | grep svn

例項2:查詢指定程序個數

ps -ef | grep svn -c 或者 ps -ef | grep -c svn 

例項3:從檔案中讀取關鍵字進行搜尋

cat test.txt | grep -f test2.txt

grep  'test' --color test.txt

grep 'test' test1.txt test2.txt

例項7:找出以g開頭的行內容

cat test.txt | grep ^u

例項8:輸出非u開頭的行內容

cat test.txt | grep ^[^u]

例項9:輸出以hat結尾的行內容

cat test.txt | grep hat$

例項10:顯示包含9或者nine字元的內容行

cat test.txt | grep -e '9|nine'

grep '.*三八活動*.' --color /opt/web/dianshangwuxian_t_jzt/wf/logs/emcdsthirdservice.log

1. 

2.3.

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...

linux grep命令詳解

grep命令是linux下的行過濾工具,其引數繁多,下面就一一介紹個個引數的作用,希望對大家有所幫助。grep print lines matching a pattern 將符合樣式的該行列出 語法 grep options pattern file.grep用以在file內文中比對相對應的部分,...