百度
360搜索
搜狗搜索

linux的grep命令案例详细介绍

以下是 grep 命令的常见使用案例及说明,覆盖不同场景下的典型用法:

1. 基本搜索:在文件中查找包含指定字符串的行

bash

  app.log

  • 作用:在 app.log 文件中查找包含 "error" 字符串的所有行。
  • 输出:返回所有匹配行(默认区分大小写)。

2. 不区分大小写搜索

bash

   app.log

  • 参数 -i:忽略大小写(Case Insensitive)。
  • 作用:查找 "error"、"Error"、"ERROR" 等所有大小写组合的匹配行。

3. 显示匹配行的行号

bash

   access.log

  • 参数 -n:显示匹配行的行号(Line Number)。
  • 输出:格式为 行号:匹配内容(如 15:2023-10-01 14:30:00 GET /)。

4. 反向匹配(显示不包含指定字符串的行)

bash

   system.log

  • 参数 -v:反向选择(Invert Match)。
  • 作用:输出 system.log不包含 "WARNING" 的所有行。

5. 递归搜索目录下的所有文件

bash

   /project/code

  • 参数 -r:递归(Recursive)遍历目录。
  • 作用:在 /project/code 目录下的所有文件中,搜索包含 "api_key" 的行,输出格式为 文件路径:匹配内容

6. 仅显示匹配的文件名(不显示具体行)

bash

   *.py

  • 参数 -l:仅列出文件名(List Files)。
  • 作用:在当前目录的所有 .py 文件中,找到包含 "TODO" 的文件,并输出文件名(每个文件名一行)。

7. 统计匹配次数

bash

   access.log

  • 参数 -c:统计匹配行数(Count)。
  • 作用:输出 access.log 中包含 "404" 的行数(如 5 表示有 5 行匹配)。

8. 使用正则表达式匹配

bash

   log.txt

  • 参数 -E:启用扩展正则表达式(Extended Regex)。
  • 作用:匹配 log.txt 中以 YYYY-MM-DD 格式开头的行(如 2023-10-01 ...)。

9. 排除特定文件 / 目录

bash

  --exclude-dirvenv   /project

  • 参数 --exclude-dir:排除指定目录(如 venv 虚拟环境目录)。
  • 参数 --exclude:排除指定文件名模式(如 *.log)。
  • 作用:在 /project 目录下递归搜索 "debug",但跳过 venv 目录和所有 .log 文件。

10. 显示匹配行的上下文(前后几行)

bash

      app.log

  • 参数 -A 2:显示匹配行后 2 行(After)。
  • 参数 -B 1:显示匹配行前 1 行(Before)。
  • 作用:输出包含 "EXCEPTION" 的行,及其前 1 行、后 2 行的内容(用于查看上下文)。

总结

grep 是 Linux 中最常用的文本搜索工具,通过组合不同参数(如 -i-n-r 等),可以灵活应对各种搜索需求。实际使用中,可根据具体场景选择合适的参数组合。

阅读更多 >>>  linux如何判断被黑

网站数据信息

"linux的grep命令案例"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux的grep命令案例的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!