Linux 在子目录中递归地从 .bz2 文件中搜索文本字符串

标签 linux recursion grep bzip2

我遇到过多个 .bz2 文件位于子目录中的情况。我想使用 bzcat 和 grep 命令 linux 命令从所有文件中搜索文本。

我可以使用以下命令搜索一对一文件:

bzcat <filename.bz2> | grep -ia 'text string' | less

但我现在需要对子目录中的所有文件执行上述操作。

最佳答案

您可以使用 bzgrep而不是 bzcatgrep .这样更快。

要在目录树中递归 grep 使用 find :

find -type f -name '*.bz2' -execdir bzgrep "pattern" {} \;

find正在递归搜索带有 *.bz2 的所有文件扩展并应用 -execdir 指定的命令给他们。

关于Linux 在子目录中递归地从 .bz2 文件中搜索文本字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20970579/

相关文章:

linux - aws s3 ls 未知选项 : --recursive

c - 僵尸进程在代码中创建,并在另一部分中被杀死

mysql - bash 脚本中的循环未捕获文件中的所有行

children 在树上求和 parent

linux - 当存在歧义时使用grep从linux中的txt文件中提取文本

linux - "failed to execute command: permission denied"Ubuntu 18.04.3 LTS

Java 递归通用模板 : what does this mean by . .. S extends Writer<E>> extends Entity<E,S>

c++ - 是否可以在 C++ 中创建一个可自身调用的真实函数类型?

regex - 如何从 Mac 上的 ifconfig 获取格式化为 "Interface: IP Address"的输出

linux - grep -xf 与预期输出不匹配,可能是一个错误