grep option RE filename
发现了要查找的模式,退出状态为0
找不到要查找的模式,退出状态为1
找不到指定的文件时,退出状态为2
选项
-i
忽略大小写
-r
递归查找文件,包括文件的内容
-n
加上行号
-v
反向查找,列出不匹配的行
-c
显示匹配到的行的数目,不显示行的内容
-A -B -C
显示行数控制
元字符
^
行首定位符
grep '^love' filename 匹配所有love开头的行
$
行尾定位符
grep 'love$' filename 匹配所有以love结尾的行
.
匹配一个字符
grep 'l..e' filename 匹配包含一个l,后跟两个字符,再跟一个e的行
*
匹配零或多个前导字符
grep 'love1*' filename 匹配包含0或多个1的模式love的行
[]
匹配一组字符中的任一个
grep '[Ll]ove' filename 匹配包含love或Love模式的行
[^]
匹配不在指定字符内的字符
grep '[^a-z]ove' filename
\<
词首定位符
\>
词尾定位符
grep '\<[a-z].*n\>' filename
x\{m\}
字符x的重复出现次数为m次
x\{m,\}
字符x的重复出现次数至少为m次
x\{m,n\}
字符x的重复出现次数为至少m次,但不超过n次
grep v\{1,2\} filename
\(..\)
标志匹配到的字符,最多可以设置9个标签,从\1开始
grep '\(v\)[a-z]\1' filename 可以匹配出lovev,\1被标志为v
Example:
grep -irn 'string' file //在file中查找string, 忽略大小写,并在结果加上行号
grep -rrn 'string' dir //在目录中递归查找string,忽略大小写,并在结果加上行号
egrep 'hello|hi' file //在file中查找字符串hello或者hi
阅读(755) | 评论(0) | 转发(0) |