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

linux tar command -t option to show max-depth=1

可能是一个tar.gz文件有很多文件夹,文件夹可能有很多文件和文件夹,我只想显示tar.gz文件第一个depth.How到写这个命令。

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

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

这个命令怎么写?

由于 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