因此,我有一个tarball目录。即/home/username/dir_w_tarballs。在其中一个压缩包中是曾经在这里工作的工程师的许可证密钥。如何在目录中的每个tarball中搜索特定文件?类似于find . -name some_file
吗?我知道我可以使用tar -jtvf file.tar.bz2
搜索一个压缩包。我希望范围更广一些。
最佳答案
这个怎么样:
find -name '*.tar' -o -name '*.tar.*' | while read f; do
tar -tf "$f" | grep some_file | sed "s|^|$f:|"
done
它将递归地找到当前目录下的所有tarball,列出其中的每个,然后使用
grep
搜索特定文件,然后使用sed
在每个匹配项的前面加上tarball名称,这样您就可以知道哪个tarball包含每个匹配项。 ..关于linux - 在tarball目录中搜索文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11835578/