grep 参数选项: -v 排除某些行,显示不包含匹配文本的所有行。 -n 显示匹配行及行号。 -i 不区分大小写(只适合单字符),默认是区分大小写的。 -c 只统计匹配的行数,注意不是匹配的次数。 -E 使用扩展的egrep命令。 --color=auto 为grep过滤的匹配字符串添加颜色。 -w 只匹配过滤的单词。 -o 只输出匹配的内容。 使用grep过滤不包含aaa字符的行 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc [root@testdb ~]# grep -v "aaa" a.log 2 bbb 3 ccc 使用grep命令显示过滤后的内容的行号 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc [root@testdb ~]# grep -n "aaa" a.log 1:1 aaa 使用-i参数不区分大小写 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc 4 AAA 5 aAA 6 AAa 7 aab 8 AAc [root@testdb ~]# grep -i "aaa" a.log 1 aaa 4 AAA 5 aAA 6 AAa 同时过滤两个不同字符串并为过滤的内容 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc 4 AAA 5 aAA 6 AAa 7 aab 8 AAc [root@testdb ~]# grep -Ei "aaa|ccc" a.log 1 aaa 3 ccc 4 AAA 5 aAA 6 AAa 计算匹配的字符串数量 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc 4 AAA 5 aAA 6 AAa 7 aab 8 AAc [root@testdb ~]# grep -i "aaa" a.log 1 aaa 4 AAA 5 aAA 6 AAa [root@testdb ~]# grep -c -i "aaa" a.log 4 只输出匹配的内容 [root@testdb ~]# cat a.log 1 aaa 2 bbb 3 ccc 4 AAA 5 aAA 6 AAa 7 aab 8 AAc [root@testdb ~]# grep -i "aaa" a.log 1 aaa 4 AAA 5 aAA 6 AAa [root@testdb ~]# grep -o -i "aaa" a.log aaa AAA aAA AAa 只匹配过滤的单词 [root@testdb ~]# cat a.log oracle:x:1000:1000::/home/oracle:/bin/bash oracle1:x:1001:1001::/home/oracle1:/bin/bash oracle2:x:1002:1002::/home/oracle2:/bin/bash oracle3:x:1003:1003::/home/oracle3:/bin/bash [root@testdb ~]# grep "oracle" a.log oracle:x:1000:1000::/home/oracle:/bin/bash oracle1:x:1001:1001::/home/oracle1:/bin/bash oracle2:x:1002:1002::/home/oracle2:/bin/bash oracle3:x:1003:1003::/home/oracle3:/bin/bash [root@testdb ~]# grep -w "oracle" a.log oracle:x:1000:1000::/home/oracle:/bin/bash