Как я могу перечислить все *.doc файлы в архиве Zip, включая файлы в подкаталогах?

BTRFS является все еще экспериментальной файловой системой, которая, как ожидают, будет иметь ошибки. Необходимо сообщить об ошибке в списке рассылки.

7
13.09.2012, 02:15
3 ответа
zipinfo -1 zip.zip '*.doc'

работы для меня, отображая все файлы в подкаталогах. Я думаю, что Вы забываете кавычки вокруг *.doc. Без кавычек, *.doc расширяется до всех .doc файлы в текущем каталоге, и затем это передается zipinfo как шаблон поиска. Таким образом, если у Вас будет разархивированная версия архива, существующего в локальном каталоге, то затем команда только покажет верхний уровень .doc файлы.

С кавычками аргумент защищен от оболочки, таким образом, подстановочный знак на самом деле добирается zipinfo успешно.

3
27.01.2020, 20:19

можно попробовать этого:

zipinfo -1 zip.zip | grep '\(/\|^\)*.\.doc$'
2
27.01.2020, 20:19

При монтировании архива как каталога можно использовать обычные команды, не имея необходимость волноваться о том, что файлы в архиве.

Файловая система AVFS представляет представление файловой системы где каждый архивный файл /path/to/foo.zip доступно как каталог ~/.avfs/path/to/foo.zip#. AVFS обеспечивает доступ только для чтения к наиболее распространенным форматам архивного файла. Выполните команду

mountavfs

однажды после каждой перезагрузки (если Вы когда-нибудь хотите размонтироваться ~/.avfs, выполненный fusermount -u ~/.avfs).

После этого обычные команды будут работать:

cd ~/.avfs$PWD
find zip.zip\# -name '*.doc'

или

ls ~/.avfs$PWD/zip.zip\#/**/*.doc
0
27.01.2020, 20:19

Теги

Похожие вопросы