【发布时间】:2016-05-30 07:13:05
【问题描述】:
我需要在压缩文件中找到一些值,例如 .tar 或 .zip。
我发现这个命令对于给我带来我需要的东西很有用:
find . | xargs zgrep --color=always "blabla"
除了“blabla”,我还需要找到它之后或之前的其他字符串。
我该怎么做?
【问题讨论】:
我需要在压缩文件中找到一些值,例如 .tar 或 .zip。
我发现这个命令对于给我带来我需要的东西很有用:
find . | xargs zgrep --color=always "blabla"
除了“blabla”,我还需要找到它之后或之前的其他字符串。
我该怎么做?
【问题讨论】:
我添加了一些参数来查找,因此您只会在这些文件中使用 grep。
find . -name "*.gz" -type f | xargs zgrep -B1 -A1 --color=always "blabla"
【讨论】:
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 是什么意思?