grep
grep 命令 - 文本搜索利器
grep(Global Regular Expression Print)是 Linux 中最强大的文本搜索工具,使用正则表达式在文件中搜索匹配的行。无论是分析日志、查找代码还是过滤数据,grep 都是必备技能。
文本处理

⌨️ 命令语法

grep [选项] 模式 [文件...]

⚙️ 常用参数

-i忽略大小写
-r递归搜索目录
-n显示匹配行的行号
-v反向匹配,显示不包含模式的行
-c只显示匹配的行数
-l只显示包含匹配的文件名
-w匹配整个单词
-A n显示匹配行及其后 n 行
-B n显示匹配行及其前 n 行
-C n显示匹配行及其前后各 n 行
-E使用扩展正则表达式(等同于 egrep)

💡 实战示例

  • $ grep 'error' /var/log/syslog
    在日志中搜索包含 error 的行
  • $ grep -rn "TODO" ./src/
    递归搜索项目中所有包含 TODO 的文件及行号
  • $ grep -i 'warning' app.log
    忽略大小写搜索 warning
  • $ grep -v '^#' config.conf
    排除以 # 开头的注释行
  • $ grep -C 3 'ERROR' app.log
    显示匹配行及其上下文各3行
  • $ ps aux | grep nginx
    结合管道查找 nginx 进程
  • $ grep 'error' log.txt
    在log.txt中搜索包含error的行
  • $ grep -rn 'TODO' .
    递归搜索当前目录下包含TODO的行并显示行号

🔔 温馨提示

grep 搭配管道 | 使用威力无穷,是命令行数据分析的核心技能。处理大文件时,grep 比用编辑器打开快得多。

🔗 相关命令