grep [选项] [范围] [路径]
- -i 忽略大小写
- --colour/color 把匹配到的字符加色显示
- -v 反向查询
- -o 只显示被匹配到的字符串
- -E 扩展正则表达式,等同于egrep
- -A(n) 显示找到的行,以及往后的n行
- -B(n) 显示找到的行,以及往前的n行
- -C(n) 显示找到的行,以及其前后的n行
- -c 技术,统计每个文件匹配到的行数
- -l 只显示匹配到内容的文件名
- -L 只显示没匹配到内容的文件名
- -H 显示匹配到内容的和文件名
- -h 显示匹配到的内容,但不显示文件名
- -n 显示匹配到的内容,和在文件中的第几行
- -r 递归目录
正则表达式
元字符
- . 匹配任意单个字符
- [:alpha:] 所有字母
- [:alnum:] 所有数字和字母
- [:digit:] 所有数字
- [:lower:] 小写
- [:upper:] 大写
- [:punct:] 符号
- [:space:] 空白字符
字符匹配次数
* 匹配其前面字符任意此
\? 匹配其前面字符1或0次
\{m,n\} 匹配其前面字符至少m次,至多n次
\{m,\} 匹配其前面字符至少m次
\{,n\} 匹配其前面字符至多n次
位置锚定
^ 锚定行首
$ 锚定行尾
^$ 空白行
\< 其后面的任意字符,必须作为单词的首部出现
\> 其前面的任意字符,必须作为单词的尾部出现
分组
abc* abc出现任意次数
分组引用:\1 第一个左括号和其对应的右括号之间的内容。
扩展正则表达式
grep -E 等同于 egrep
字符匹配
. [] [^]和grep的用法相同
次数匹配
* 任意次数
? 0或1次
+ 至少1次
{m,n} 至少出现m次,至多出现n次
分组
() 分组
\1, \2, \3 引用