linux tar命令-t选项显示max-depth = 1

时间:2015-10-23 07:56:56

标签: linux shell tar

可能是一个tar.gz文件,内容很多文件夹,文件夹可能有很多文件和文件夹,我只想显示tar.gz文件的第一个深度。如何写这个命令。

例如,我想显示这个tar.gz文件

enter image description here

仅显示auth,help,xa,install.txt,license.txt.release.xt,sqljdbc.jar,sqljdbcr.jar

如何编写此命令?

1 个答案:

答案 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