Linux egrep命令

Linux 命令大全

Linux egrep命令用于在文件内查找指定的字符串。

egrep执行效果与"grep-E"相似,使用的语法及参数可参照grep指令,与grep的不同点在于解读字符串的方法。

egrep是用extended regular expression语法来解读的(扩展正则表达式),而grep则用basic regular expression 语法解读,extended regular expression比basic regular expression的表达更规范。

语法

egrep [范本模式] [文件或目录] 

参数说明:

  • [范本模式] :查找的字符串规则。

  • [文件或目录] :查找的目标文件或目录。

实例目录:

egrep 查找当前目录下所有文件中包含指定的字符串

egrep -n 打印行号

egrep -v 过滤不包括的内容

egrep -o:仅打印你需要的东西

egrep -i:忽略大小写

egrep -c: 用于统计文中出现的次数

egrep  \b:作为单词边界符,边界只包含特定字符的行

egrep 打印IP信息

egrep 同时过滤多个关键字

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

linux中通过cat命令查看xin2.txt的内容

[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需要了解更多正则表达式

Linux 命令大全