【问题标题】:How to use regex over zgrep?如何在 zgrep 上使用正则表达式?
【发布时间】:2016-05-30 07:13:05
【问题描述】:

我需要在压缩文件中找到一些值,例如 .tar.zip。 我发现这个命令对于给我带来我需要的东西很有用:

find . | xargs zgrep --color=always "blabla"

除了“blabla”,我还需要找到它之后或之前的其他字符串。

我该怎么做?

【问题讨论】:

    标签: linux unix find archive


    【解决方案1】:

    我添加了一些参数来查找,因此您只会在这些文件中使用 grep。

    find . -name "*.gz" -type f | xargs zgrep -B1 -A1 --color=always "blabla"
    

    【讨论】:

      【解决方案2】:

      zgrep 正在使用 grep,所以您可以使用 grep 中的 -a 选项:

      来自man 页面:

      -a,--文本

      像处理文本一样处理二进制文件;这相当于 --binary-files=text 选项。

      如果您想在同一“行”上查找某些内容,请使用如下通配符:

      find . | xargs zgrep -a --color=always "before_bla.*blabla.*after_bla"

      直接回答你的问题man grep

      不过要小心 grepping 压缩文件。

      【讨论】:

      • 你的建议不起作用。 man grep 是什么意思?
      • 阅读 grep 手册页也可用here
      猜你喜欢
      • 2020-02-12
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 2020-09-14
      • 2016-08-14
      相关资源
      最近更新 更多