如何在不递归的情况下列出tar文件中的内容?


16

我有一个tar(gz,bzip)文件,想查看其内容,但不能递归查看。

这是:文件中的“第一级”。

我已经知道如何查看内容:

tar -ztf file.tar.gz

但这是递归的!

谢谢!

Answers:



18

tar --exclude='*/*' -tf yourarchive.tar 应该这样做。

几乎可以肯定这是GNU tar-ism。但是谁不使用GNU tar,对吗?(另一个有趣的事实:在最新版本的GNU tar中,您不需要'z'或'j'来列出或解压缩.gz或.bz文件-它可以自动检测到这些文件并且可以正常工作。)


更容易理解和记住,并且快速。
Walf

2
很好,但是我永远不会记住那-t意味着list。因此-tf可以转换为--list -f
2017年

此选项比接受的答案快得多,谢谢!
Dr_Zaszuś

要查看我使用的第一级层次结构tar --exclude='*/*/*' -tf yourarchive.tar
user3804598 '19

1

这应该显示顶级目录以及仅包含点字符的文件:

$ tar -tf app.tar.gz | grep -E '^\w+(\.\w+)*/*\w+(\.\w+)*/?$'

django/
django/django.wsgi
django/search_indexes/
django/templates/
django/app/
django/other-app/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.