基本上我有.bz2.gz.bz2文件,在提取时给出一个.bz2.gz文件,然后再次提取给出.bz2文件。在这个.bz2文件中,是我想要使用grep命令搜索的txt文件。我已经搜索了这个但是我得到了bzgrep命令,它只搜索bz2文件,而不是相应的.gz.bz2文件并且没有给我任何结果。
在unix系统中是否有一个命令会递归搜索压缩存档中的zipped存档并仅在找到txt文件时返回结果?
P.S:txt文件可能在存档深处达到最高10级。我希望命令以递归方式查找txt文件并搜索所需的字符串。除了txt文件级别之外,存档中只有一个存档。
答案 0 :(得分:0)
我不确定我是否完全理解但也许这会有所帮助:
for i in /path/to/each/*.tar.bz2; do
tar -xvjf "$i" -C /path/to/save/in
rm $i
done
extract all `tar.bz2` and save them in directory then remove the `.bz2`
答案 1 :(得分:-1)
Thnx用于分享您的问题。
但是有一些奇怪的事情:
拥有.bz2.gz.bz2
文件是没有意义的,所以你自己创建了这个文件吗?如果是这样,我建议你以这种方式重新考虑这样做。
另外,您提到有.bz2
显然包含不同的档案,但.bz2
只能包含一个设计的文件。因此,如果它包含存档,则可能是.tar.bz2
文件,其中tar文件包含实际存档。
在回答您的问题时,为什么不能编写一个简单的shell脚本,将.bz2.gz.bz2
解压缩到.bz2.gz
然后解压缩到.bz2
文件然后执行bzgrep命令对该文件?
我不明白你到底在哪里被困......