Bagaimana cara membuat daftar konten dari file tar tanpa rekursi?

16

Saya memiliki file tar (gz, bzip) dan ingin melihat isinya, tetapi tidak secara rekursif.

Ini adalah: "level pertama" dalam file.

Saya sudah tahu cara melihat konten:

tar -ztf file.tar.gz

Tapi ini bersifat rekursif !!

Terima kasih!

santiago.basulto
sumber

Jawaban:

11

Bagaimana dengan sesuatu seperti:

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

dmah
sumber
3
Lambat untuk tarbal besar, tapi bisa diterapkan
Nicu Stiurca
18

tar --exclude='*/*' -tf yourarchive.tar harus melakukannya.

Itu hampir pasti tar-isme GNU. Tapi siapa yang tidak menggunakan tar GNU, kan? (Fakta menyenangkan lainnya: dalam versi terbaru GNU tar, Anda tidak memerlukan 'z' atau 'j' untuk membuat daftar atau membuka kompres file .gz atau .bz - ini akan mendeteksi secara otomatis dan hanya berfungsi.)

mattdm
sumber
Lebih mudah dimengerti dan diingat dan banyak yang cepat.
Walf
2
Ini bagus, tetapi saya tidak akan pernah ingat itu -tberarti daftar . Jadi -tfbisa dikonversi menjadi --list -f.
spinup
Opsi ini jauh lebih cepat daripada jawaban yang diterima, terima kasih!
Dr_Zaszuś
Untuk melihat level hierarki pertama yang saya gunakantar --exclude='*/*/*' -tf yourarchive.tar
user3804598
1

Ini akan menampilkan direktori tingkat atas serta hanya file yang menyertakan karakter titik:

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