Jak wyświetlić zawartość z pliku tar bez rekurencji?


17

Mam plik tar (gz, bzip) i chcę zobaczyć jego zawartość, ale nie rekurencyjnie.

To jest: „Pierwszy poziom” w pliku.

Wiem już, jak zobaczyć zawartość:

tar -ztf plik.tar.gz

Ale to rekurencyjne !!

Dzięki!

Odpowiedzi:


11

Co powiesz na coś takiego:

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


3
Powolny dla dużych tarball, ale wykonalny
Nicu Stiurca,

19

tar --exclude='*/*' -tf yourarchive.tar powinien to zrobić.

To prawie na pewno tar-izm GNU. Ale kto nie używa tar GNU, prawda? (Kolejny fajny fakt: w najnowszych wersjach GNU tar nie potrzebujesz „z” lub „j” do wyświetlania lub rozpakowywania plików .gz lub .bz - automatycznie je wykrywa i po prostu działa.)


Łatwiejsze do zrozumienia i zapamiętania i dużo szybciej.
Walf

2
To świetnie, ale nigdy nie zapamiętam, że -tto oznacza listę . Więc -tfmożna go przekonwertować na --list -f.
spinup

Ta opcja jest znacznie szybsza niż zaakceptowana odpowiedź, dziękuję!
Dr_Zaszuś

Aby zobaczyć pierwszy poziom hierarchii, którego użyłemtar --exclude='*/*/*' -tf yourarchive.tar
użytkownik3804598

1

Powinno to pokazywać katalogi najwyższego poziomu, a także tylko pliki zawierające znak kropki:

$ 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/
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.