wiki/运维/操作系统/Linux/笔记/14.文本grep.md
2026-04-08 15:02:24 +08:00

1.6 KiB

1、grep 概览

grep 是 Linux 中最常用的文本搜索命令之一,用于在文件或命令输出中查找匹配的内容。

日常使用场景包括:

  • 在配置文件中查找关键字
  • 在日志中定位报错信息
  • 过滤命令输出
  • 结合管道做批量分析

2、基本格式

grep [选项] "模式" 文件名

例如:

grep "error" app.log

表示在 app.log 中查找包含 error 的行。

3、常见选项

  • -m:匹配指定次数后停止
  • -v:取反,显示不匹配的行
  • -i:忽略大小写
  • -n:显示匹配行的行号
  • -c:只显示匹配次数
  • -w:只匹配完整单词

4、常见示例

4.1 忽略大小写搜索

grep -i "error" app.log

4.2 显示行号

grep -n "listen" /etc/ssh/sshd_config

4.3 统计匹配次数

grep -c "404" access.log

4.4 显示不匹配的行

grep -v "^#" /etc/ssh/sshd_config

这类用法常用于过滤掉注释行。

4.5 只匹配完整单词

grep -w "root" /etc/passwd

5、结合管道使用

grep 经常和其他命令组合:

ps -ef | grep nginx
journalctl -xe | grep -i "failed"

6、实战建议

  • 配置文件查找时,经常结合 -n 看行号
  • 查日志时,经常结合 -i 忽略大小写
  • 过滤无效行时,经常用 -v
  • 要统计数量时,用 -c 比肉眼数更快

7、小结

  • grep 是最基础、最高频的文本搜索命令
  • -i-n-v-c-w 是最常用选项
  • 它非常适合配合管道过滤日志、进程、配置输出