1
所以我有一个tarball的目录。即/ home/username/dir_w_tarballs。其中一个tarball是一位曾经在这里工作的工程师的许可证密钥。如何在目录中的每个tarball中搜索特定文件?类似于find . -name some_file
?我知道我可以用tar -jtvf file.tar.bz2
搜索一个tarball。我希望有更广泛的范围。搜索文件的tarball目录?
所以我有一个tarball的目录。即/ home/username/dir_w_tarballs。其中一个tarball是一位曾经在这里工作的工程师的许可证密钥。如何在目录中的每个tarball中搜索特定文件?类似于find . -name some_file
?我知道我可以用tar -jtvf file.tar.bz2
搜索一个tarball。我希望有更广泛的范围。搜索文件的tarball目录?
如何:
find -name '*.tar' -o -name '*.tar.*' | while read f; do
tar -tf "$f" | grep some_file | sed "s|^|$f:|"
done
它会递归查找当前目录下的所有压缩包,列出他们中的每一个,使用grep
来搜索特定的文件,然后sed
预先设置压缩包的名称以每比赛,这样你就能够知道哪些压缩包里面包含每场比赛...
感谢您的快速反应!似乎没有为我工作。我进入这一切作为一个行命令,这样 – Houdini 2012-08-06 21:01:02
@Houdini:如果你进入它作为一个内胆,你需要一个额外的',''之前... done' – thkala 2012-08-06 21:03:28
@Houdini:这也假设一个比较新的如果没有明确的'-z' /'-j'选项可以解压缩包'tar'版本... – thkala 2012-08-06 21:04:29