使用grep搜索文本

在文本中搜索一个字符串

[root@MIO-2 ~]# grep 'Install' ./install.log

也可以从stdin中读取

[root@MIO-2 ~]# cat install.log | grep 'ql2100'
Installing ql2100-firmware-1.19.38-3.1.el6.noarch

对多个文件进行读取

[root@MIO-2 ~]# grep ql2100 ./install.log 1.sh 
./install.log:Installing ql2100-firmware-1.19.38-3.1.el6.noarch

grep命令通常将match_pattern视为通配符,如果要使用正则表达式,需要添加-E选项,这意味着使用扩展正则表达式,也可以使用默认允许正则表达式的egrep的命令

[root@MIO-2 ~]# cat install.log | grep -E [a-z]$

-o 只输出文件中匹配到的文本部分

[root@MIO-2 ~]# cat install.log | grep -E -o 'ql2500'
ql2500

-v 将反转匹配结果,等于是匹配不包含规则的结果

[root@MIO-2 ~]# cat install.log | grep -E -v 'ql2500'

-c 统计文件或文本中匹配的字符串行数(注意是行数不是匹配次数)

[root@MIO-2 ~]# cat install.log | grep -E -c 'ql2500'
1

-R 递归搜索文件

[root@MIO-2 ~]# grep -R 'Install' .

-i 忽略大小写

[root@MIO-2 ~]# grep -i 'install' install.log

匹配多个样式

[root@MIO-2 ~]# grep -e 'ipa' -e 'iwl5000' -o install.log
ipa
ipa
ipa
ipa
ipa
iwl5000

-q 只返回布尔值

[root@MIO-2 ~]# grep -q 'Install' install.log