有人可以帮助我找出一个命令来递归地查找嵌入在另一个 tgz 文件中的 tgz 文件中的文件:
MainFile.tgz
→ SubFile1.tgz
→ SubFile2.tgz
→ SubFile3.tgz
→abc.txt
我的目标是能够在abc.txt
不提取MainFile.tgz
Nor 的情况下列出SubFileX.tgz
。
下面的命令仅列出第一级文件(即SubFile.tgz
);因此 grep 命令无法abc.txt
在列表中找到:
tar tvf MainFile.tgz | grep abc
答案1
您需要提取它们,但不需要将它们存储在磁盘上:
tar -xOf MainFile.tgz SubFile1.tgz | tar -xO SubFile2.tgz | tar -xO SubFile3.tgz | tar -x abc.txt
标志-O
将输出设置为标准输出,没有标志-f
tar
将接受来自标准输入的存档数据。