grep簡單用法

grep正則表達式

經常使用參數:spa

-c: 打印符合要求的行數3d

-i :忽略大小寫blog

-n:輸出行和行號test

-v:打印不符合要求的行,即反選file

-A:後跟數字(有無空格均可以),例如-A2 表示打印篩選行及後2行grep

-B:後跟數字,例如-B2表示打印篩選行及前2行im

-C:後跟數字,例如-C2表示打印篩選行及先後各2行d3

-o:只打印符合要求的內容,而非整行db

示例:

text.txt內容:

abc

123

efg

456

hij789

012ABC

Hello World

grep -c abc text.txt

 1

grep -i abc text.txt

 

grep -n abc text.txt

 

 grep -ivn abc text.txt

 

grep -A 2 abc text.txt

 

 

正則表達式

[0-9] 匹配全部數字

[03]  匹配0或者3

[0-9a-zA-Z] 匹配全部數字大小寫字母

grep [0-9] text.txt

 

grep [1] text.txt

 

grep [a-zA-Z] text.txt

[^字符]表示除[]以外的字符。注意:此時將去除徹底符合的行,混合內容不會去除

grep [^0-9] text.txt

 

經過反選,能夠查看上次的結果grep -v [^0-9] text.txt 

grep '[^r]oo' test.txt 打印不包含r,但包含oo的行

^表示行首,$表示行尾,空行用^$表示

grep '^[0-9]' text.txt 打印以數字開頭的行

grep '[0-9]$' text.txt 打印以數字結尾的行

grep '^$' text.txt 打印空行

過濾任意一個字符與重複字符

. 表示任意一個字符 * 表示0或多個前面的字符 .*表示0或多個任意字符,空行也包含在內

grep 'r..t' file 把符合r和t之間有2個任意字符的行打印出來

grep 'ooo*' file oo,ooo,oooo....所有打印

指定要過濾字符出現的次數{n1,n2},其中n1小於n2,表示重複n1到n2次前面的字符,n2能夠爲空,表示大於等於n1次。這個命令結合-o使用,可以看到匹配結果

grep -o '1\{2\}'  text.txt

 

grep -o  '1\{3,5\}' text.txt 

相關文章
相關標籤/搜索