grep 命令速查表 - Linux 文本搜索常用命令大全

日志分析和代码搜索必备的 grep 命令都在这里了,从基础搜索到正则匹配,按场景分类整理,直接复制改参数。

系统与运维·共 38 条命令·最后更新 2026-07-21
返回 系统与运维

递归搜索 Recursive 7

grep -r "pattern" dir/
递归搜索目录
grep -R "pattern" dir/
递归搜索(跟随符号链接)
grep -rn "pattern" dir/
递归并显示行号
grep -rl "pattern" dir/
只输出匹配文件名
grep -r --include="*.log" "pattern" dir/
只搜索指定类型文件
grep -r --exclude="*.tmp" "pattern" dir/
排除指定类型文件
grep -r --exclude-dir="node_modules" "pattern" dir/
排除目录

正则表达式 Regular Expression 9

grep -E "pattern" file
扩展正则(等价于 egrep)
grep "^start" file
匹配行首
grep "end$" file
匹配行尾
grep "\<word\>" file
匹配单词边界
grep -w "word" file
匹配整个单词
grep "[0-9]" file
匹配数字
grep "[^0-9]" file
匹配非数字
grep "a\|b" file
匹配 a 或 b(BRE)
grep -E "a|b" file
匹配 a 或 b(ERE)

上下文 Context 4

grep -A 3 "pattern" file
匹配行后再显示 3 行
grep -B 2 "pattern" file
匹配行前显示 2 行
grep -C 3 "pattern" file
匹配行前后各显示 3 行
grep -A 3 -B 2 "pattern" file
前 2 行后 3 行

多模式与文件 Multiple Patterns & Files 6

grep -e "pattern1" -e "pattern2" file
匹配多个模式
grep -f patterns.txt file
从文件读取模式
grep "pattern" file1 file2
搜索多个文件
grep "pattern" *.log
搜索通配符匹配的文件
grep -H "pattern" file
显示文件名
grep -h "pattern" file1 file2
不显示文件名

常用场景 Common Patterns 5

grep "error\|warning" app.log
搜索 error 或 warning
grep -rn "TODO\|FIXME" src/
搜索代码中的 TODO
grep -oE "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" access.log
提取 IP 地址
grep -c "^$" file
统计空行数
grep -v "^#" file | grep -v "^$"
排除注释和空行

💡 提示

  • grep 默认使用 BRE(基本正则),+、?、| 需转义或用 -E 启用 ERE。
  • 递归搜索大目录时加 --exclude-dir 排除 node_modules、.git 等。
  • grep -q 用于脚本中判断是否匹配,不输出内容只返回状态码。

官方参考来源

命令整理自以下官方文档,点击核对最新用法。

由 LaoHand 维护

公开更新于 2026年7月21日,内容持续校对官方文档。

发现错误?反馈给我们

命令或描述有误?提交 issue 帮助我们修正。

发现错误?反馈给我们