Grep
查找字段
grep "hell." text.log (查找text.log文件中带有hell的字段)
-E :开启扩展(Extend)的正则表达式。
-i :忽略大小写(ignore case)。
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
--color :将匹配到的内容以颜色高亮显示。
-A n:显示匹配到的字符串所在的行及其后n行,after
grep -A 3 "root" /etc/phpinfo
-B n:显示匹配到的字符串所在的行及其前n行,before
grep -B 3 "root" /etc/phpinfo
-C n:显示匹配到的字符串所在的行及其前后各n行,context
grep -C 3 "root" /etc/phpinfo
正则查找
grep ".\{0,2\}ph" /etc/phpinfo ---查找包含ph以及前两个字符的字段,如:asph
以某个字符结尾
grep "sh$" /etc/phpinfo
以某个字符开始
grep "\<p" /etc/phpinfo
查找以正则查找
grep "\Bsh\b" /etc/phpinfo
使用基本正则表达式,下面谈关于基本正则表达式的使用:
匹配字符:
. :任意一个字符。
[abc] :表示匹配一个字符,这个字符必须是abc中的一个。
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
对于一些常用的字符集,系统做了定义:
[A-Za-z] 等价于 [[:alpha:]]
[0-9] 等价于 [[:digit:]]
[A-Za-z0-9] 等价于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等价于 [[:upper:]]
[a-z] 等价于 [[:lower:]]
标点符号 [[:punct:]]
grep "^\([[:punct:]]\).*\1$" /etc/phpinfo ---没测成功,正则可用php测试 "^([[:punct:]]).*\1$"
$ree = '"aonea,is,oa,aonoa"';
$rea = '/^([[:punct:]]).*\1$/';
preg_match($rea,$ree,$ret);
var_dump($ret);
vim里查找命令
[root@ddsd phpinfo] 不可编辑状态下"/ " + 要查找的字段 n向下查找
亲测可用!!