352

Как я могу просмотреть список файлов в ZIP-архиве, не распаковывая его?

10 ответов10

410

less утилита способна заглянуть в zip архив. На самом деле, если вы посмотрите на выходные данные unzip -l zipfile и less zipfile , вы обнаружите, что они идентичны.

97

Попробуйте unzip -l files.zip | less

Также смотрите man unzip для большего количества вариантов

50

Чтобы просмотреть содержимое почтового индекса:

zipinfo -1 myzipfile.zip

Для подробного вывода:

zipinfo myzipfile.zip
28

Пожалуйста, используйте

vim ZIP_FILE_NAME

для того же. Это простой и легко запоминающийся.

11

Вы можете сделать так, чтобы zip отображался как каталог (в котором вы используете cd , ls и т.д.), Подключив его к виртуальной файловой системе fuse-zip .

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

Другой подходящей файловой системой FUSE является AVFS. Он создает представление всей вашей иерархии каталогов, где у всех архивов есть связанный каталог (то же имя с # прикрепленным в конце), который, по-видимому, содержит содержимое архива.

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs

Многие современные файловые менеджеры (например, Nautilus, Dolphin) показывают содержимое архива прозрачно.

AVFS только для чтения. Fuse-zip предназначен для чтения и записи, но имейте в виду, что изменения записываются в zip-файл только в размонтированное время, поэтому не начинайте читать архив, ожидая, что он будет изменен, до тех пор, пока не fusermount -u .

8

По крайней мере, в Ubuntu, возможно, самая простая команда:

view [zipfile]

Это откроет список файлов в вашем стандартном текстовом редакторе (nano, vim и т.д.).

2

Если вы более ориентированы на графику, Midnight Commander также может просматривать zip-файлы, как если бы они были обычными каталогами.

1

Это на самом деле unzip -l file.zip | grep "search" или если у вас много файлов

for i in `ls *zip`; do 
  unzip -l $i | grep "search"; 
done

Обновление: изменено с '-p' на '-l' для поиска файлов.

0

Более комплексное решение

Предыдущий ответ @kinORnirvana - мой любимый способ создания файла с содержимым zip-архива.

zipinfo [-1] archive.zip > archive_content.txt

Тем не менее, я рекомендую vim или emacs (не nano), если вам нужно просмотреть архивный файл или даже просмотреть содержимое файла, содержащегося в нем.

vim archive.zip

Этот подход работает и с другими форматами архивов:

vim file.tar
vim file.tar.gz
vim file.tar.bz2

С vim или emacs вы можете:

  • просмотрите структуру каталогов архива.
  • просмотреть содержимое любого файла внутри файла архива.
0

(да) Еще один ответ:

Псевдоним этой команды:

alias vless='/usr/share/vim/vim73/macros/less.sh'

и вы можете использовать vless file.zip чтобы воспользоваться преимуществами скрипта vi (или vim) less.

(также полезно заменить меньше, так что вы можете иметь цвета)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .