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!

Jawaban:


11

Bagaimana dengan sesuatu seperti:

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


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.)


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/
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.