grep 命令各引數詳解帶例子

2021-09-01 09:30:45 字數 1742 閱讀 5936

在工作中經常用到grep命令,在此做一下總結。

grep 用於匹配檔案中符合條件的行。

>

cat test.txt

aaaa

bbbbb

cccc

dddd

eeeeeee

ffff

-- after-context : 除了列印匹配的行,還要列印匹配行之後的幾行內容;
例如: 除了匹配「bb」 ,還要知道該行的後三行內容。

>

grep -a 3 "bb" test.txt

bbbbb

cccc

dddd

eeeeeee

--text : 把所有的檔案都當作ascii檔案。用人話就是說我們在匹配二進位制檔案時,如果匹配到內容就會列印"binary file ...

matches'', 使用這個選項 就會把匹配的內容列印出來。

--before-context: 與-a相關,是除了列印匹配的行,還要列印匹配行之前的幾行內容;
例如 : 除了匹配 「cc」, 還要知道該行的前三行內容。

>

cat test.txt

aaaa

bbbbb

cccc

--byte-offset : 列印匹配行之前,列印出匹配行第乙個字元的偏移量。注意: 每行最後的回車換行也是算上的。
例如:我們要匹配 「bb」, 並想知道 「bb」 這一行的行首字元的偏移量。

>

grep -b "c" test.txt

5:bbbbb

從而我們可以知道,行首字元b 偏移量是 5。

--context:  列印匹配行,前後各列印幾行, 如果-c 2 則是等於 -a 2 -b 2;
例如: 我要匹配字串 「cc」 , 除此之外,還要列印前後的2行;

>

grep -c 2 "cc" test.txt

aaaa

bbbbb

cccc

dddd

eeeeeee

--count : 列印一共匹配了多少行
--device: 對裝置,fifo,管道等檔案裝置 進行 read,skip 。特別注意,這樣會將fifo的資料讀取出來。
例如。我們建立乙個fifo檔案,並匹配其中的 「aa」 ;

# 建立fifo

>

mkfifo fifo_test

# 匹配 「aa」

>

grep -d read

"aa" fifo_test

# 開另乙個終端

>

cat aa > fifo_test

--directories :針對目錄的一些操作 

1. read 將目錄當作普通檔案

2. recurse:遞迴遍歷,效果等同於-r 和 -r

3. skip : 忽略目錄

--extended-regexp : 等效於 egrep, 將pattern 當作擴充套件正規表示式;

grep命令引數詳解

1.grep命令引數選項 同時顯示匹配行上下?行,如grep 2 pattern filename,a 同時顯示匹配行下?行grep a 10 pattern filename b 同時顯示匹配行上?行 c 列印匹配次數 e 擴充套件正則egrep f 兩個檔案相同行 如,grep f file1 ...

grep命令最全引數詳解

用grep c來統計匹配的行數 grep c 的作用類似grep wc l,不同的是,如果是查詢多個檔案,grep c會統計每個檔案匹配的行數,每行乙個檔案的列出來,而wc l 則列出總的統計數字。另外grep c 要比 grep wc l快一點。grep同時滿足多個關鍵字和滿足任意關鍵字 grep...

grep引數詳解

f 檔案選項。讓grep egrep和fgrep命令列中該選項之後的字串是相關檔案的檔名。該檔案包含了將 在輸入中搜尋的目標。標準的grep不能識別該選項 v 反義選項,使grep選擇所有和模式不匹配的行。c 計數選項。請求包含匹配的搜尋檔案中匹配行的數量。l 列表選項。顯示包含有匹配的檔名的列表,...