Есть ли какой-нибудь способ найти из оболочки все файлы, соответствующие шаблону файла, включая файлы внутри архивов (в частности, zip-архивы)?
Пакет моделирования "VASP" производит файлы, называемые "OUTCAR" среди других. Эти файлы теперь распределены по сотням папок, большинство из которых, но не все, заархивированы, чтобы ускорить инкрементное резервное копирование за счет уменьшения беспорядка файлов. Теперь я хочу запускать как скрипт для всех этих сжатых и незаархивированных файлов OUTCAR.
Конечно, я мог бы написать скрипт, который использует "find" для поиска разархивированных файлов и комбинацию find, grep и unzip для поиска заархивированных файлов, но было бы предпочтительнее стандартное решение, если оно есть, так как оно позволяло бы легко относиться к zip-файлам как к папкам readonly в моих скриптах.
В идеале должен быть набор команд, имитирующих поведение общих команд оболочки, таких как cat
, grep
, find
за исключением того, что они допускают zip-файлы как часть имен файлов.
Я бы не потребовал, чтобы такие инструменты могли обрабатывать вложенные zip-файлы. Самой причиной, по которой я переключился с .tar.gz
на .zip
является наличие файлового индекса, доступного без извлечения чего-либо (довольно большая разница в скорости для 100 МБ архивов с высокой степенью сжатия), который частично теряется при использовании вложенных архивов.
Кстати, я использую Windows 7 с Cygwin (хотя это должно иметь значение только в отношении производительности процесса создания).