Comment lister le contenu d'un fichier tar sans récursivité?


17

J'ai un fichier tar (gz, bzip) et je veux voir son contenu, mais pas récursivement.

C'est: Le "premier niveau" dans le fichier.

Je sais déjà comment voir le contenu:

tar -ztf file.tar.gz

Mais c'est récursif !!

Merci!

Réponses:


11

Que diriez-vous de quelque chose comme:

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


3
Lent pour les gros tarballs, mais réalisable
Nicu Stiurca

19

tar --exclude='*/*' -tf yourarchive.tar devrait le faire.

C'est presque certainement un tarisme GNU. Mais qui n'utilise pas GNU tar, non? (Autre fait amusant: dans les versions récentes de GNU tar, vous n'avez pas besoin du 'z' ou du 'j' pour lister ou décompresser les fichiers .gz ou .bz - il les détecte automatiquement et cela fonctionne juste.)


Plus facile à comprendre et à mémoriser et très rapidement.
Walf

2
C'est super, mais je ne me souviendrai jamais de cette liste de-t moyens . Peut donc être converti en . -tf--list -f
rotation

Cette option est beaucoup plus rapide que la réponse acceptée, merci!
Dr_Zaszuś

Pour voir le premier niveau de hiérarchie que j'ai utilisétar --exclude='*/*/*' -tf yourarchive.tar
user3804598

1

Cela devrait montrer les répertoires de niveau supérieur ainsi que les fichiers qui incluent le caractère point:

$ 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/
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.