grep 多模式搜索:一次锁定多个关键词

01为什么一次要找多个字符串

在日常运维或排查日志时,“同时出现多个关键词”往往才是问题真正的线索。手动分次搜索再对比结果,既耗时又容易遗漏上下文。掌握 grep 的多模式搜索技巧,就能让命令行一次性给出所有匹配行,效率立竿见影。

02grep 的三种正则引擎

grep 默认使用 Basic 正则表达式(BRE),但通过 -E--extended-regexp 可以切换到 扩展正则表达式(ERE),后者在书写上更简洁,尤其是 OR 运算符 | 不再需要转义。

对于更复杂的模式,还可以用 -P--perl-regexp 启用 Perl 兼容正则表达式(PCRE),它拥有最多的特性集,但性能略低。

优先级提示:在所有正则运算符里,| 的优先级最低,因此不需要额外分组符号。

03多模式搜索的基本语法

3.1 > 使用 BRE(无需转义)

```bash

grep 'pattern1\|pattern2' filename

```

注意:必须把整个表达式用单引号括起来,防止 shell 先行替换。

3.2 > 使用 ERE(免转义)

```bash

grep -E 'pattern1|pattern2' filename

```

此时 | 可以直接写,无需反斜杠。

04实战示例:从日志里揪出错误关键词

4.1 > 基本用法

假设 nginx 错误日志里同时出现 fatalerrorcritical 时,才值得关注:

```bash

grep 'fatal\|error\|critical' /var/log/nginx/error.log

```

4.2 > 加空格也能搜

若关键词本身含空格,记得用双引号包围:

```bash

grep -E 'error message' /var/log/nginx/error.log

```

4.3 > 不区分大小写

日志轮转后大小写可能混写,加 -i 即可忽略大小写:

```bash

grep -i 'Fatal|ERROR|CRITICAL' /var/log/nginx/error.log

```

4.4 > 只匹配整词

默认情况下,error 会被 errorlessantiterrorists 等误匹配。用 -w 只匹配完整单词:

```bash

grep -w 'fatal|error|critical' /var/log/nginx/error.log

```

单词字符默认包括字母、数字、下划线,其余均视为分隔符。

05小结与拓展思路

一次搜索多个关键词,可大幅缩小排查范围。

BRE 与 ERE 的选择取决于你是否愿意写反斜杠;若模式复杂,直接 -E 更省事。

大小写敏感(默认)与 整词匹配(-w)是两个常用选项,别忘了它们。

grep 的功能远不止于此:结合管道、排序、去重等命令,还能玩出更高级的文本分析花样。下次遇到多关键词搜索,直接把这篇收藏起来,让 grep 一键搞定。

原创文章,作者:徐梓涵,如若转载,请注明出处:http://m.gaochengzhenxuan.com/news/12923.html

(0)
徐梓涵徐梓涵
上一篇 2026-03-24
下一篇 2026-03-24

相关推荐

  • 打破传统印象的便携实用 小米对讲机2S全能通讯工具

    对讲机或许不是大众日常必备数码产品,但它的应用场景十分广泛,活动现场统筹、户外组队出行、公司团建、商超门店调度、各类服务行业日常沟通,都离不开这款设备。对讲机的核心优势就是便捷高效,无需依托网络,按下按键就能快速建立实时沟通,省去手机解锁、找软件的繁琐步骤,即

    2026-04-03
    173
  • 春来早 农事忙|五常供销社送肥入...

    (来源:黑龙江日报)转自:黑龙江日报本报讯(记者李雪君)春耕备耕关键期,五常市供销社全面铺开“送肥入户、服务到家”专项行动,精准破解农户农忙时节农资采购、运输痛点,打通农资供应“最后一公里”。自3月10日启动集中配送以来,当地15个基层供销社同步推进服务,累计

    2026-04-03
    195
  • 翰墨铸忠诚——张成生书法作品展在顺德边检站举办

    翰墨飘香润警营,忠诚铸魂映国门。近日,“翰墨铸忠诚——张成生书法作品展”在广东顺德边检站举办。顺德区政协领导、书法界名家、共建单位代表及边检站民警职工齐聚一堂,共赏翰墨风采,感悟忠诚担当。此次展览是顺德边检站深入学习宣传贯彻全国两会精神、推进文化育警文化强警工

    2026-04-03
    506