shell grep | egrep
grep :在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行
egrep:扩展的egrep,支持更多的正则表达式元字符
一、grep命令格式
grep [选项] PATTERN filename1 filename2…
-q : 安静模式
#grep ‘root’ /etc/passwd
#grep ‘bash shell’ /etc/passwd /etc/shadow /etc/group
1、三种状态
找到: grep返回的退出状态为0
没找到: grep返回的退出状态为1
找不到指定文件:grep返回的退出状态为2
2、grep使用的元字符
grep 使用基本元字符集:^ $ . * .* [] [^] [-] \< \> \(\) \{\}
egrep 使用扩展元字符集:? + {} |()
注:grep也可以使用扩展集中的元字符,但需要对这些元字符前置一个反斜线
\w 所有字母与数字,’[a-zA-Z0-9]ve’ = ‘’\w*ve’
\W 所有字母与数字之外的字符,称为非字符 ‘lo[^a-zA-Z0-9]+’ = ‘lo\W+’
\b 词边界 ‘\<love\>’ = ‘\blove\b’
二、grep 的选项
-v : 取反,反向查找,只匹配不匹配的行
关键例子:grep --help | grep ‘\-v’ useradd --help | grep ‘\-u’
-i : 忽略大小写
-q:静默模式
-R:递归针对目录
-l:只列出匹配行所在的文件名
-n:在每一行前面加上它在文件中的相对行号
-c:显示成功匹配的行数
-s:禁止显示文件不存在或文件不可读的错误信息
–color:颜色
-o:只显示匹配的内容
-Bx:-B2 x的值发生变化,查看上两行
-Ax:-A4 查看前4行
-Cx:-C3 查看前后3行