1. 程式人生 > >linux中grep/egrep的使用

linux中grep/egrep的使用

文件中查找 where -o bag grep -n 靜默 掌握 字符 strong

grep也是linux中查找的一個利器,運維、程序員必掌握的

下面針對grep的參數進行說明:

--color
重點標記匹配到項
grep "a word" datafile --color=auto

-E
grep使用正則表達式,也可直接用egrep
grep -E "a.e" datafile

-o
只輸出匹配到的文本部分
grep -E "a.e" datafile
只顯示awe,不顯示一行內容

-v
顯示除了匹配到行之外的其他行
grep -v My datafile
不顯示包含My的行,其他行都顯示

-c
統計包含匹配字符串的行數(不是匹配次數)
grep -c My datafile
打印匹配次數,可以使用如下方法:
grep -o My datafile|wc -l

-n
同cat一樣,打印出行號,多個文件時在最前面打印文件名
grep -n My datafile1 datafile2
datafile1:3:My name is Han
datafile2:1:where My bag

-b
顯示匹配字符的偏移量,和-o一起使用
grep -bo My datafile

-l和-L
在搜索多個文件時使用
-l顯示哪個搜索文件裏包含匹配項
-L顯示哪些文件中不包含匹配項
grep -l My datafile

-r和-R
意思相同,即遞歸查詢目錄中所有文件/目錄
grep -r My .
在當前目錄下查找包含My的文件


-i
忽略大小寫
grep -i My datafile
在datafile中搜索my/My/MY/mY

-e
匹配多個樣式
grep -e My -e Your datafile
查找包含My和Your的行,同如下語句:
grep -E "My|Your" datafile

-f
查找給定文件中的匹配項
grep -f file datafile

--include/exclude
在/不在某些文件中查找
grep "main" -r --include *.{c,cpp}

-q
靜默輸出,不打印出來。若匹配到則為0

-A
打印匹配行後面的幾行,包括匹配行


-B
打印匹配行前面的幾行,包括匹配行


-C
打印匹配行前後的幾行,包括匹配行
如上若有多個匹配,則用--分隔開

linux中grep/egrep的使用