Linux egrep命令
Linux egrep命令用于在文件内查找指定的字符串。
egrep执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。
egrep是用extended regular expression语法来解读的(扩展正则表达式),而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。
语法
egrep [范本模式] [文件或目录]
参数说明:
-
[范本模式] :查找的字符串规则。
-
[文件或目录] :查找的目标文件或目录。
实例目录:
egrep实例
查找当前目录下所有文件中包含字符串"linux"的文件,可以使用如下命令:
egrep linux *
egrep执行结果如下所示:
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep linux *
可以学习linux 网站是:xinbiancheng.cn.
我非常喜欢linux和python.
我非常喜欢linux.
egrep -n 打印行号
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep -n ".*" xin.txt #文件所有的内容都打印行号
1:可以学习linux 网站是:xinbiancheng.cn.
2:我非常喜欢linux和python.
3:我非常喜欢linux
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep -n "xinbiancheng" xin.txt #匹配的内容显示行号
1:可以学习linux 网站是:xinbiancheng.cn.
egrep -v 不包括
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep -v "python" xin.txt #表示不包含python的的数据
可以学习linux 网站是:xinbiancheng.cn.
我非常喜欢linux.
egrep -o:仅打印你需要的东西
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# grep -o "linux" xin.txt
linux
linux
linux
egrep -i:忽略大小写
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# grep -i "PYTHON" xin.txt
我非常喜欢linux和python.
egrep -c: 用于统计文中出现的次数
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# grep -c "linux" xin.txt
3
通过vim增加 "java js css" 到 xin.txt文件的 最后一行,用来测试\b单词边界符
egrep \b:作为单词边界符,边界只包含特定字符的行
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep "\bjava\b" xin.txt
显示结果为:
java js css
egrep 打印IP信息
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# ifconfig eth0|egrep "([0-9]{1,3}\.){3}[0-9]{1,3}"
inet xxx.xx.xxx.xx netmask xxx.xxx.xxx.x broadcast xxx.xx.xxx.xxx
egrep 同时过滤多个关键字
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# cat xin.txt|egrep "java|python"
显示结果为:
我非常喜欢linux和python.
java js css
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# cat xin2.txt
我是xin2.txt中的python
egrep 从多个文件中查找关键词
[root@iz8vbbxoyfcgyzkxcspg04z mnt]# egrep "python" xin.txt xin2.txt #多文件查询时,会用冒号前添加文件名
显示结果为:
xin.txt:我非常喜欢linux和python.
xin2.txt:我是xin2.txt中的python
如果想用活egrep需要了解更多正则表达式