1. 程式人生 > >Linux 文件編輯 : egrep 命令詳解

Linux 文件編輯 : egrep 命令詳解


egrep = grep -E 可以使用基本的正則表達外, 還可以用擴充套件表示式. 注意區別.
擴充套件表示式:
+ 匹配一個或者多個先前的字元, 至少一個先前字元.
? 匹配0個或者多個先前字元.
a|b|c 匹配a或b或c
() 字元組, 如: love(able|ers) 匹配loveable或lovers.
(..)(..)\1\2 模板匹配. \1代表前面第一個模板, \2代第二個括弧裡面的模板.
x{m,n} =x\{m,n\} x的字元數量在m到n個之間.

egrep '^+' file   以一個或者多個空格開頭的行.
grep '^*' file   同上
egrep '(TOM|DAN) SAVAGE' file 包含 TOM SAVAGE 和DAN SAVAGE的行.
egrep '(ab)+' file 包含至少一個ab的行.
egrep 'x[0-9]?' file 包含x或者x後面跟著0個或者多個數字的行.
egrep 'fun\.$' * 所有檔案裡面以fun.結尾的行.
egrep '[A-Z]+' file 至少包含一個大寫字母的行.
egrep '[0-9]' file 至少一個數字的行.
egrep '[A-Z]...[0-9]' file 有五個字元, 第一個式大寫, 最後一個是數字的行.
egrep '[tT]est' file 包含單詞test或Test的行.
egrep 'ken sun' file 包含ken sun的行.
egrep -v 'marry' file 不包含marry的行.
egrep -i 'sam' file 不考慮sam的大小寫,含有sam的行.
egrep -l "dear ken" * 包含dear ken的所有檔案的清單.
egrep -n tom file 包含tom的行, 每行前面追加行號.
egrep -s "$name" file 找到變數名$name的, 不列印而是顯示退出狀態. 0表示找到. 1表示表示式沒找到符合要求的, 2表示檔案沒找到.