Вопрос: Прочитайте содержимое zipped-файла без извлечения?


Как я могу прочитать содержимое конкретного файла в архиве, не извлекая .zip, он содержится внутри? Я использую командную строку Linux.

Раннее вопрос спрашивает о просмотре каталога архива. Но для меня недостаточно просто увидеть список файлов в архиве, мне нужно увидеть содержимое файла в архиве.


114
2017-08-17 10:41


Источник


Дублирование с superuser.com/questions/216617/zip-linux-view-files-in-archive - pevik
@ fixer1234 (и другие): Связанный вопрос спрашивает: «Как просмотреть файлы в ZIP-архиве?» AFAIC, это тот же вопрос, что и «Как я могу увидеть содержимое файла ...?» К сожалению, многие люди, которые ответили на этот вопрос интерпретировал его как «Как просмотреть каталог архива?» Однако, Ответ Жиля (естественно) и Ответ Раджасехара Толети (по-видимому) к этому вопросу предоставил этот вопрос. - Scott
@Scott, может быть, мы должны выяснить, как объединить два вопроса, так что обе темы охвачены в одном или переориентируют друг друга, чтобы явно быть в каталоге, а затем переместить ответы между обоими местами в соответствии с вопросами. Прямо сейчас, оба - беспорядок. - fixer1234
@ fixer1234: Я согласен, до определенного момента. Модераторы всегда говорят нам, что дубликаты - это хорошо, потому что они обеспечивают большую поверхность воздействия на поисковые системы (т. Е. Больше шансов, что поиск найдет один из вопросов). Но есть руб: если пользователь находит один вопросов, и связь не очевидна (и никто не смотрит списки «Связанные» и «Связанные» вопросы - по крайней мере, не случайные последователи результатов поиска), тогда пользователь нашел лишь небольшую часть ответов. ДэвидПостилл дал окончательное голосование, чтобы вновь открыть этот вопрос; возможно, тебе стоит поговорить с ним. - Scott
@Scott - Учитывая, что вопросник спросил, как «Как я могу просмотреть каталог архива?» Ответ, как принято, я должен думать, что это, скорее всего, цель вопроса. Это, к сожалению, неоднозначно сформулировано так, что это может означать либо интерпретацию. - M. Justin


Ответы:


unzip -l archive.zip перечисляет содержимое ZIP-архива, чтобы убедиться, что ваш файл находится внутри.

Использовать -c возможность записывать содержимое именованных файлов в stdout (экран) без необходимости распаковывать весь архив.

unzip -c archive.zip file1.txt file2.txt | less

Для такого рода операций я всегда less, иначе весь файл пролетает по экрану, прежде чем вы сможете его прочитать.

BTW zcat отлично подходит для просмотра содержимого файлов .gz, не распаковывая их сначала.


157
2017-08-17 11:10



По крайней мере, в Ubuntu, меньше как-то настроено сделать это по умолчанию - так less archive.zip фактически показывает список файлов. - aviv
bzcat для просмотра содержимого файлов bz2 без необходимости распаковывать их сначала ... - Justin E
unzip -c также показывает имя файла и некоторые дополнительные сообщения (отправка их на stdout). Использование -p вместо этого отправляет файл только в двоичном формате. Это более полезно для трубопроводов - Juan Calero
С вашей $LESSOPEN установленный на lesspipe, вы можете просто less foo.gz для просмотра распакованного содержимого. (@aviv: это то же самое, что позволяет less foo.zip трубить unzip -l foo.zip в себя). - Peter Cordes
unzip -c archive.zip '*' | less делает то, что я искал: cat содержимое zip-архива. - Peter Cordes


zipinfo это еще один инструмент, который вы можете использовать, это полезно, если вы находитесь в заблокированной системе, где unzip не допускается.


4
2017-08-01 14:13





Если вы просто хотите посмотреть изображений внутри архивов вы можете использовать Comix или новее MComix видеть изображения внутри .zip, .rar, .cbr, а также .cbz файлы без извлечения.


4
2018-03-24 20:22





Начало Emacs в командной строке и откройте свои zip-файлы с помощью Zip-Archive Режим. Без какой-либо настройки Emacs / elisp (об этом, как правило, опасаются новые пользователи), вы увидите информацию о файле, например: zipinfo: режимы, длина, дата, время

Затем вы сможете открывать файлы в буферах и даже сохранять свои изменения обратно в архив со стандартными ярлыками:

  • Введите имя файла в списке, чтобы открыть его.
  • Редактировать и сохранить с помощью Ctrl-x Ctrl-s
  • Убить буфер Ctrl-k вернуться в буфер архива и продолжить

Когда в Zip-Archive буфер, использование Ctrl-h m чтобы получить все ярлыки в окне справки.

Надеюсь, это может привести вас к удивительным функциям Emacs


1
2017-09-10 10:20





Если файл включен в zip-архив, вам нужно извлечь только этот файл из архива (может зависеть от типа архива, некоторые архивы не могут извлекать файлы отдельно)


-1
2017-08-17 10:46



Да, но вы можете извлечь в stdout и проложить прямо в пейджер. - Peter Cordes