linux - 在文件夹中的 gzip 文件中查找字符串

我目前的问题是我有大约 10 个文件夹,其中包含 gzip 文件(平均每个大约 5 个)。这使得它可以打开和查看 50 个文件。

是否有更简单的方法来确定文件夹中的 gzip 文件是否具有特定模式?

zcat ABC/myzippedfile1.txt.gz | grep "pattern match"
zcat ABC/myzippedfile2.txt.gz | grep "pattern match"

我可以在一行中对所有文件夹和子文件夹执行相同的操作,而不是编写脚本吗?

for f in `ls *.gz`; do echo $f; zcat $f | grep <pattern>; done;

最佳答案

zgrep 将查看 gzip 压缩文件,有一个 -R 递归选项和一个 -H 显示文件名选项:

zgrep -R --include=*.gz -H "pattern match" .

操作系统特定的命令并非所有参数都适用:

Mac 10.5+: zgrep -R --include=\*.gz -H "模式匹配".

Ubuntu 16+: zgrep -i -H "模式匹配"*.gz

https://stackoverflow.com/questions/1253816/

相关文章:

java - System.currentTimeMillis 是否总是返回一个值 >= 以前的调用

c++ - 在 Ubuntu 中学习 OpenGL

linux - Home/End 键在 tmux 中不起作用

linux - 如何让 tcpdump 写入文件和标准输出适当的数据?

linux - 如何从 Linux 内核模块的 init_module 代码创 build 备节点?

c++ - 在 C、C++ 中检测 Windows 或 Linux

linux - 在类 Unix 系统中上次运行的 cron 作业的详细信息?

java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

linux - 为什么Linux设备驱动中除了init还需要probe方法?

c++ - 谁决定任何数据类型或结构的大小(取决于 32 位或 64 位)?