Выборочно извлекать файлы из .zip-архива из командной строки

Предположим, у меня большой zip-файл (> 50 ГБ), и я хочу извлечь из него некоторые файлы из командной строки.

Чтобы получить файлы, я запускаю команду:

  • SQLplus и Oracle, плохой дисплей UTF-8
  • что означает grep -v -f / dev / null, что нужно сделать точно?
  • Любая команда для просмотра внутреннего размера фрагментации файловой системы в каталоге?
  • Мониторинг активности файловой системы
  • Помощь с модификацией команды
  • Каковы соответствующие разрешения на выполнение для ~ / bin?
  • unzip -l myfile.zip | grep "foo" 

    который дает мне список записей zip; как я могу извлечь те файлы, которые проходят через фильтр grep? Я пробовал использовать xargs unzip -j но я хотел бы получить более чистое решение, поскольку записи в zip требуют очистки бесполезной информации.

  • Кросс-компилируемый модуль ядра Linux
  • grepping переменная и добавление 1 к ней
  • Каков наилучший способ форматирования жесткого диска в Linux, чтобы не оставлять следов?
  • запустить tcpdump не до содержимого пакета interpert
  • Загрузка каталогов с помощью sftp?
  • grep внутри меньше?
  • One Solution collect form web for “Выборочно извлекать файлы из .zip-архива из командной строки”

    Stéphane имеет правильную идею передать zip подстановочный знак, соответствующий именам файлов, которые вы хотите извлечь. Разбор данных с помощью unzip означает, что вам нужно следить за заголовками и линиями трейлеров, которые появляются.

    Используйте что-то вроде:

     unzip -j myfile.zip '*foo*' 

    осторожно процитировать подстановочные знаки из оболочки .

    Если вы продолжите направление вывода grepping unzip , разделите заголовок и трейлер и уменьшите его до столбца имени файла:

     unzip -l myfile.zip | sed '1,3d; /--------- -------/d; $d'|cut -c31- 
    Linux и Unix - лучшая ОС в мире.