web-dev-qa-db-ja.com

再帰せずにtarファイルからコンテンツをリストする方法は?

私はtar(gz、bzip)ファイルを持っていますが、その内容を確認したいのですが、再帰的ではありません。

これは、ファイル内の「最初のレベル」です。

私はすでにコンテンツの見方を知っています:

tar -ztf file.tar.gz

しかし、それは再帰的です!!

ありがとう!

17

次のようなものはどうですか:

tar -ztf file.tar.gz | egrep '^ [^ /] + /?$'

11
dmah

tar --exclude='*/*' -tf yourarchive.tarはそれを行うべきです。

それはほぼ間違いなくGNU差別です。しかし、誰がGNU tarを使用しないのですか? (もう1つのおもしろい事実:GNU tarの最近のバージョンでは、.zまたは.bzファイルをリストまたは解凍するために「z」または「j」は必要ありません。これらは自動検出され、機能します。)

19
mattdm

これにより、トップレベルのディレクトリと、ドット文字を含むファイルのみが表示されます。

$ 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/
1
Sam Halicke