1. grep/egrep
-c :打印符合要求的行數
-n :在輸出符合要求的行的同時連同行號一起輸出
-v :打印不符合要求的行
-r :
會把目錄下面所有的文件全部遍歷一遍
-i :
忽略大小寫
2. 例子介紹
過濾出帶有某個關鍵詞的行並輸出行號 grep –n ‘root’ 1.txt
過濾出不帶有某個關鍵詞的行並輸出行號 grep –n –v
‘root’ 1.txt
過濾出所有包含數字行 grep
–n ‘[0-9]’ 1.txt
過濾出所有不包含數字的行 grep
–n –v ‘[0-9]’ 1.txt
去除所有以‘#’開頭的行
grep –v ‘^#’ 1.txt
去除所有空行和以‘#’開頭的行
grep –v ‘^$’ 1.txt | grep –v ‘^#’
過濾出以英文字母開頭的行 grep –v ‘^[a-zA-Z]’ 1.txt
統計次數 grep –o ‘root’ 1.txt | wc –l
把出現的下兩行打印出來 grep –A2 –n ‘root’ 1.txt
搜索etc目錄下某個關鍵詞的所有文件 grep
–r ‘root’/etc/
指定過濾字符次數 grep
‘o\{2\}’passwd
過濾任意一個或多個字符 grep ’r.o’ passwd ; grep ‘r*t’ passwd ; grep ‘r.*t’ passwd
.表示任意一個字符; *表示0個或多個前面的字符; .*表示0個或多個任意字符,空格也包含在內
以n結尾的字符 grep –n ‘n$’ 1.txt
+和?比較特殊,如果在grep中使用要-E或者轉義
3. egrep = grep –E
egrep工具是grep的擴展
表示1個或1個以上前面的字符
egrep ‘o+’ 1.txt
表示0個或1個前面字符
egrep
‘o?’ 1.txt
匹配roo或者body
egrep ‘roo|body’ 1.txt
用括號表示一個整體
egrep ‘r(oo)|(at)o’ 1.txt
表示1個或多個’oo’
egrep ‘(oo)+’ 1.txt