grep -c 顯示符合條件的內容有多少行php
[root@glinux-01 ~]# cat 2.txt aaaa bbbb AAAA avavav 123 445ff [root@glinux-01 ~]# grep -c aaa 2.txt 1 [root@glinux-01 ~]# grep -c A 2.txt 1
grep -n 顯示符合條件的行號html
[root@glinux-01 ~]# grep -n a 2.txt 1:aaaa 4:avavav
-i 不區分大小寫linux
[root@glinux-01 ~]# grep -i a 2.txt aaaa AAAA avavav
-A 顯示符合條件的內容和下面n行(-A2就是下面2行)spa
[root@glinux-01 ~]# cat 2.txt aaaa bbbb AAAA avavav 123 445ff [root@glinux-01 ~]# grep -A2 "A" 2.txt AAAA avavav 123
grep -v '^#' /etc/inittab 匹配以井號開頭的內容取反.net
grep -v '[^0-9]' 匹配數字的行code
[root@glinux-01 ~]# grep [^0-9] 2.txt 匹配非數字的行 aaaa bbbb AAAA avavav 445ff [root@glinux-01 ~]# grep -v [^0-9] 2.txt 匹配數字的行 123
grep '^[^0-9]' 2.txt 匹配以非數字開頭的行htm
[root@glinux-01 ~]# grep '^[^0-9]' 2.txt aaaa bbbb AAAA avavav
grep 「a*」 test_rule.txt 匹配全部內容,包括空白行 Grep 「aa*」 test_rule.txt 匹配至少包含一個a的行 Grep 「aaa*」 test_rule.txt 匹配至少包含兩個a的行 grep 「s..d」 test_rule.txt 匹配s和d之間有兩個字符的單詞 Grep 「s.*d」 test_rule.txt 匹配 s和d之間有任意字符的單詞 grep 「.*」 test_rule.txt 匹配全部內容
+:匹配+ 前的的字符一次或屢次遞歸
[root@g_linux01 ~]# grep 'a\+a' 1.txt aaabbb [root@g_linux01 ~]# grep 'a\+' 1.txt abc aaabbb
?:匹配?前的字符0次或一次文檔
[root@g_linux01 ~]# grep 'a\?' 1.txt 123 abc aaabbb 123 1 1 ABC QWE
|或者。例:匹配A或者Qget
[root@g_linux01 ~]# egrep 'A|Q' 1.txt ABC QWE
egrep = grep -E 能夠使參數中的特殊符號不需加脫義符。
a{2} 表示2對a 。
[root@g_linux01 ~]# grep -E a{2} 1.txt aaabbb [root@g_linux01 ~]# grep 'a\{2\}' 1.txt //須要將括號{}脫義 aaabbb
(aa){2} 表示2對aa
[root@g_linux01 ~]# egrep '(aa){2}' 1.txt aaaabbb
#只在目錄中全部的.php和.html文件中遞歸搜索字符"main()" grep "main()" . -r --include *.{php,html} #在搜索結果中排除全部README文件 grep "main()" . -r --exclude "README" #在搜索結果中排除filelist文件列表裏的文件 grep "main()" . -r --exclude-from filelist
把一個目錄下,過濾全部*.php文檔中含有eval的行 grep -r --include="*.php" 'eval' /data/