grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。正则表达式
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不一样,因此大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! --color=auto :能够将找到的关键词部分加上颜色的显示喔!
一、将filename中包含w的行输出来centos
[root@zhoucentos log]# grep w filename
wo ai wo jia
wo hen hao
da jia hao wo shi yi ge hao ren
二、把行号显示出来工具
[root@zhoucentos log]# grep -n w filename 1:wo ai wo jia 3:wo hen hao 4:da jia hao wo shi yi ge hao ren
三、有多少行含有匹配的模式spa
[root@zhoucentos log]# grep -c wo filename 3
四、与正则表达式结合code
字符类的搜索:搜寻 test 或 taste 这两个单字, [] 里面不论有几个字节,他都谨表明某『一个』字节blog
[root@zhoucentos log]# grep t[ae]st filename test is meng tast is huan
反向搜索-- 字符类的反向选择 [^] :若是想要搜索到有 oo 的行,但不想要 oo 前面有 g,以下ci
[root@zhoucentos log]# grep -n '[^g]oo' filename 8:root is a super
行首与行尾字节 ^ $字符串
注意:ast
^ 符号,在字符类符号(括号[])以内与以外是不一样的! 在 [] 内表明『反向选择』,在 [] 以外则表明定位在行首的意义!class
只要行首是wo的行
[root@zhoucentos log]# grep -n ^wo filename 1:wo ai wo jia 3:wo hen hao
找出空白行----只有行首跟行尾 (^$)
[root@zhoucentos log]# grep -n '^$' filename 6: 9: 10:
任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义以下:
. (小数点):表明『必定有一个任意字节』的意思;
* (星号):表明『重复前一个字符, 0 到无穷屡次』的意思,为组合形态
[root@zhoucentos log]# grep -n 'g..d' filename
8:good is a gread