文件查看与文本处理-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