Linux grep常用命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux grep常用命令相关的知识,希望对你有一定的参考价值。

在一个文件中同时查找多个字符串:

并集语法:

grep -e \'pattern1 -e \'pattern2 file

或集语法:

1、grep -E \'pattern1|pattern2\' file

2、egrep \'pattern1|pattern2\' file

3、grep \'pattern1|pattern2\' file

egrep 等同于 grep -E 。它会以扩展的正则表达式的模式来解释模式。下面来自 grep 的帮助页:
基本的正则表达式元字符 ?、+、 {、 |、 ( 和 ) 已经失去了它们原来的意义,要使用的话用反斜线的版本 /?、/+、/{、/|、/( 和 /) 来代替。 传统的 egrep 并不支持 { 元字符,一些 egrep 的实现是以 /{ 替代的,所以一个可移植的脚本应该避免在 grep -E 使用 { 符号,要匹配字面的 { 应该使用 [}]。
GNU grep -E 试图支持传统的用法,如果 { 出在在无效的间隔规范字符串这前,它就会假定 { 不是特殊字符。
例如,grep -E ‘{1′ 命令搜索包含 {1 两个字符的串,而不会报出正则表达式语法错误。
POSIX.2 标准允许这种操作的扩展,但在可移植脚本文件里应该避免这样使用。

在多个文件中同时查找一个或多个字符串:

语法:

grep \'pattern*\' file1 file2

例子:
检索日志文件中的cms及"moduleId":6000关键词

##实时查看
$ tail -f /export/Logs/Domains/m.jd.id/server1/logs/catalina.out|grep --color -E \'cms|"moduleId":6000\'
##查看所有历史
$ grep --color -E \'cms|"moduleId":6000\'
/export/Logs/Domains/m.jd.id/server1/logs/catalina.out

完全匹配关键词

$ grep -w \'cms\\|campaign\\\' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用egrep命令,使用扩展的正则表达式

$ egrep -w \'cms|campaign\' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用grep的-e参数关键词

$ grep -e \'cms|campaign\' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

使用-i参数忽略大小写,–color高亮显示匹配结果

$ egrep -wi --color \'cms|campaign\' /export/Logs/Domains/m.jd.id/server1/logs/catalina.out

示例输出 

使用-i参数忽略大小写,–color高亮显示匹配结果

$ egrep -wi --color \'cms|campaign\' /export/Logs/Domains/m.jd.id/server1/logs/*.out

示例输出 

 

递归查找

# egrep -Rwi --color \'foo|bar\' /etc/


------------------------------------------------------Tanwheey-------------------------------------------------------------------------

爱生活,爱工作。

 

以上是关于Linux grep常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令——grep

linux常用命令:grep 命令

Linux常用命令——grep

Linux命令三剑客之grep常用参数详解

Linux grep常用命令

《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串