文件查看与文本处理-grep 📄 — 文本搜索

作用

grep(global regular expression print)在文件中按模式搜索文本行并输出匹配结果,支持正则表达式,是文本处理的必备工具。

语法

grep [选项] 模式 文件

用法

grep 逐行扫描文件,输出包含匹配模式的行。-i 忽略大小写,-r 递归搜索目录,-C N 显示匹配行前后各 N 行,-L 只输出匹配的文件名,-v 反向匹配(输出不包含模式的行),-E 扩展正则,-w 精确匹配单词,-o 只输出匹配部分。日志分析必备。

常用参数

参数说明
-i忽略大小写
-n显示行号
-v反向匹配
-C N匹配行数
-r递归搜索
-A N匹配后 N 行
-B N匹配前 N 行
-C N前后各 N 行
-L只输出文件名
-E扩展正则
-w精确匹配单词
-o只输出匹配部分

示例

grep "ERROR" APP.LOG              # 搜索包含 ERROR 的行
grep -n "ERROR" APP.LOG           # 显示匹配行及行号
grep -ri "TODO" SRC/              # 递归搜索源码中所有 TODO
grep -C 3 "PANIC" CRASH.LOG       # 显示匹配行及前后各 3 行
grep "^root" /etc/passwd          # 正则搜索以 root 开头的行
grep -E '^[0-9]+$' FILE           # 扩展正则,纯数字行
grep -L "TODO" *.py               # 只输出不含 TODO 的文件名

来源: 菜鸟教程

📖 课程位置

本命令在以下课程中讲解: Day 1:grep 基础 | Day 2:grep 正则与上下文

🔗 相关文档

文件查看与文本处理-sed | 文件查看与文本处理-awk | 文件查看与文本处理-cut | 文件查看与文本处理-sort