可能是一个tar.gz文件,内容很多文件夹,文件夹可能有很多文件和文件夹,我只想显示tar.gz文件的第一个深度。如何写这个命令。
例如,我想显示这个tar.gz文件
仅显示auth,help,xa,install.txt,license.txt.release.xt,sqljdbc.jar,sqljdbcr.jar
如何编写此命令?
答案 0 :(得分:1)
由于tar t
本身没有选项来限制列出tarball内容的深度,因此您需要获取完整列表并将其缩减为您想要的内容。
由于这意味着tar
会在任何情况下列出完整档案,它不会比完整列表更快。
tar tzf <tarball> | sed "s@/.*@@" | sort -u
请注意,对于所有行为良好的tarball,这只会提供一个条目,与tarball同名。
真实世界的例子:
$ tar tjf gcc-5.2.0.tar.bz2 | sed "s@/.*@@" | sort -u
gcc-5.2.0
使用文件和子文件夹将提取目录分散的tarball通常称为tarbombs。