对Linux正则表达式不清楚的,请移步我前面的文章:
https://blog.csdn.net/oyangyufu/article/details/118479810
grep/egrep简介
grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于查找文件里符合条件的字符串。
egrep 是grep的扩展,查找时支持更多的正则表达式符号,相当于grep -E
参数:
-E 查找时使用正则表达式
-i 查找时不区别大小写
-n 显示行号
-o 只显示匹配到的内容
-v 排除
-w 精确匹配单词
-R 在多级目录中对文本进行递归搜索
-m 最多匹配到几个后,就停止
-h 只显示匹配到内容行
-l 只显示匹配到的文件名
-P 使用perl正则符号匹配
-C<显示行数> 匹配到该行后,并显示该行上下多少行内容
-B<显示行数> 匹配到该行后,并显示该行上面多少行内容
-A<显示行数> 匹配到该行后,并显示该行下面多少行内容
案例
1、匹配包含ntp或root字符串的行
egrep 'ntp|root' /etc/passwd
2、匹配包含连续字母的行,并显示行号
egrep '[a-z]+' /etc/passwd -n
3、匹配包含连续字母的行,并只显示匹配到的内容
egrep '[a-z]+' /etc/passwd -o
4、去掉空行和以#开头的行
egrep -v '^$|^#' /etc/ssh/ssh_config
5、精确匹配单词in
egrep -w 'in' zabb