Назад | Перейти на главную страницу

Как вывести список содержимого из tar-файла без рекурсии?

У меня есть файл tar (gz, bzip), и я хочу просмотреть его содержимое, но не рекурсивно.

Это: «Первый уровень» в файле.

Я уже умею смотреть контент:

tar -ztf file.tar.gz

Но это рекурсивно !!

Спасибо!

tar --exclude='*/*' -tf yourarchive.tar должен это сделать.

Это почти наверняка таризм GNU. Но кто же не использует GNU tar, верно? (Еще один забавный факт: в последних версиях GNU tar вам не нужны символы z или j для перечисления или распаковки файлов .gz или .bz - программа определяет их автоматически и просто работает.)

Как насчет чего-то вроде:

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

Это должно показать каталоги верхнего уровня, а также только файлы, содержащие символ точки:

$ 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/