在工作中經常用到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 列表選項。顯示包含有匹配的檔名的列表,...