Linux 文本处理与搜索命令

Linux 中正则表达式、grep 与 egrep 的常见用法与搜索套路。

#type / howto #status / growing #tech / ops #resource / linux #platform / linux

[!info] related notes

Linux 文本处理与搜索命令

目标

  • 快速在 Linux 中搜索文本、过滤输出,并理解最常用的正则元字符。

前置条件

  • 先判断你是要:
    • 搜索某个模式:grep
    • 用扩展正则:grep -E / egrep

步骤

1. 记住最常见的正则元字符

元字符含义
^行首
$行尾
.任意单个字符
*前一项重复任意次
+前一项重复一次或多次
?前一项重复零次或一次
[]字符集合
[^]取反字符集合
``

2. 用 grep 搜索文本

命令用途
grep pattern file搜索匹配行
grep -n pattern file显示行号
grep -i pattern file忽略大小写
grep -w word file匹配完整单词
grep -R pattern dir递归搜索目录
grep -A 3 pattern file多看后 3 行
grep -B 3 pattern file多看前 3 行
grep -C 3 pattern file前后各看 3 行

3. 需要扩展正则时,切到 grep -E

  • egrep 等价于 grep -E
  • 当你需要 a|ba+a?(ab)+ 这类扩展表达式时,直接用 grep -E

验证

  • grep -ngrep -c 确认是否命中了预期行。
  • 复杂模式先在小样本上试,再递归扫目录。

常见问题

  • grep -R 会递归很多文件,先缩小目录范围再跑,避免噪声过大。
  • 正则里的 | 和 Markdown 表格列分隔符不是一回事;在表格中展示时需要写成 |
创建于 2026/5/7 更新于 2026/5/27