grep | egrep
1、处理顺序
以行为单位,逐行处理;
默认只输出与表达式相匹配的行;
处理完当前行后,自动处理下一行,直到末行
egrep等同于 grep �E,表示允许使用拓展的正则表达式
2、格式
格式1
#egrep [选项] ‘正则表达式’ 文件列表
格式2
#前置命令 | egrep [选项] ‘正则表达式’ 文件列表
3、选项:
--color 用颜色显示出来
-v 条件取反
-i 忽略大小写
-c 统计匹配的行数
-q 静默,无任何输出,一般用于检测。如果$?是0说明有匹配,否则没有
-n 显示出匹配结果所在的行号
4、应用:
1 显示文件中有字母或数字的行
# grep -n '[a-Z0-9]' /etc/passwd
2 显示文件里以一个空格开头的行
# egrep -n ^' {1}' /tmp/passwd
3 显示文件里以空格开头的行
# egrep -n ^' ' /tmp/passwd
4 去掉文件中的空行显示文件内容
# egrep -v ^' ' /tmp/passwd
正则表达式匹配空行,再取反
# egrep -i tarena /tmp/passwd
6 显示文件中一任意符号开头的行
# egrep -n ^. /tmp/passwd
7 显示httpd.conf文件里的有效行(没有注释符号,不是空行的的行)
# egrep -v "^$|^#"/etc/httpd/conf/httpd.conf
^$ :是空行的意思
^# :以#开头
-v 取反
8 统计/etc目录下有多少链接文件
# ll /etc/ | egrep -c '>'
9 显示文件中由任意3个字符组成的行(一行三个字符)
# egrep -n ^...$ test.txt