egrep命令: 根据模式(文本字符和扩展正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来。 格式:egrep [选项] 匹配条件 文本名称 egrep 等于 grep -E 选项: -i: 忽略大小写 -v: 显示没有被模式匹配到的行 -o:只显示被模式匹配到的字符串 --color: 搜索出来文件高亮度显示 -A: 匹配指定行的下几行 -B: 匹配指定行的上几行 -C: 匹配指定行的上下几行 正则表达式:Regular Expression, 简称REGEXP 元字符: .: 匹配任意单个字符 []: 匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 例如:特殊字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:] 匹配次数:
*: 匹配其前面的字符任意次 .*: 任意长度的任意字符 ?: 匹配其前面的字符1次或0次,并不像基本正则表达式,无需加\ {a,d}:匹配其前面的字符至少a次,至多d次,并不像基本正则表达式,无需加\ 例如:{1} 表示:前面字符匹配1次 {0,6} 表示: 前面字符至少匹配0次,最多6次 位置锁定或叫锚定: ^: 锁定行首,此字符后面的任意内容必须出现在行首 举例说明:显示/etc/passwd文件中r开头的行 egrep '^r' /etc/passwd $: 锁定行尾,此字符前面的任意内容必须出现在行尾 举例说明:显示/etc/passwd文件中bash结尾的行 egrep 'bash$' /etc/passwd ^$: 表示 空白行 \<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现 举例说明:显示/etc/passwd文件中以root开头并以root词结尾的行 egrep '^root\>' /etc/passwd 分组:( ) 并不像基本正则表达式,无需加\ 例如:(mn)* 表示匹配任意mn组合字符 后向引用 \1: 引用第一个左括号以及与之对应的右括号所包括的所有内容 \2: 引用第二个左括号以及与之对应的右括号所包括的所有内容 \n: 引用第n个左括号以及与之对应的右括号所包括的所有内容 或者: |
举例说明:
1.D|dog 代表D和dog,而不是Dog和dog
2.找出/boot/grub/grub.conf文件中1-255之间的数字
egrep --color '\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' /boot/grub/grub.conf
3.找出ifconfig命令中的ip地址:再提示一下,egrep 等于 grep -E
ifconfig | grep --color -E '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'
|