linux 三剑客老三-grep

grep

-i 不区分大小写

-c 统计匹配的次数

-n 显示过滤的结果在原文中的行号

-w 精确匹配

\b 匹配单词边界  --eg2:

\s 单个空格字符

-o 只输出匹配的内容

--color=auto 给过滤的结果添加颜色 (可以用alias做成别名)

-v 取反,排除匹配的内容

-A n :After的意思,显示匹配字符串后n行的数据

-B n :Befor的意思,显示匹配字符串前n行的数据

-C n :显示前后的各n行

-rl 在目录下面查找关键字

eg:grep -rl config /etc/puppet/modules

-E 支持扩展的正则表达式,可以同时过滤多个   grep -E 等价于 egrep  -eg1

eg1:

[root@90-99 oldboy]# chkconfig --list | grep "3:on" | wc -l
16
[root@90-99 oldboy]# chkconfig --list | grep "3:on" | grep -vE "sshd|crond|rsyslog|network"
cobblerd        0:off   1:off   2:off   3:on    4:on    5:on    6:off
flume-ng        0:off   1:off   2:on    3:on    4:on    5:on    6:off
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
rabbitmq-server 0:off   1:off   2:on    3:on    4:on    5:on    6:off
redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
tog-pegasus     0:off   1:off   2:off   3:on    4:off   5:on    6:off
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off
zabbix-agent    0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@90-99 oldboy]# chkconfig --list | grep "3:on" | grep -vE "sshd|crond|rsyslog|network" | wc -l
12

eg2:

[root@robin oldboy]# cat a.txt
abc
abcd
abcdfer
abcdfslfjasefkj
[root@robin oldboy]# grep "abc" a.txt   
abc
abcd
abcdfer
abcdfslfjasefkj
[root@robin oldboy]# grep "abc\b" a.txt        
abc



你可能感兴趣的:(linux,grep)