Gunzip в диапазоне файлов

Я запускаю длинную копию .gz-файлов с одного сервера на другой. В то же время я хотел бы разархивировать уже скопированные файлы. Например, al filenames, которые начинаются со сквозных имен файлов, начиная с c .

Как я могу это сделать?

  • Разделение gzip-файла на более мелкие gz-файлы без повторного сжатия
  • Ошибка Subprocess.call () и gunzip
  • Bash: использование двухсторонних перенаправлений в сценарии оболочки
  • Gzip распаковывает файл с другим расширением?
  • Как я могу спрятать вложенные файлы .tar.gz?
  • tar: Удаление имени `/ 'из имен участников
  • Как gzip и копировать файлы, сохраняя свою структуру каталогов?
  • Как я могу изменить первую строку большого файла gzip без распаковки всего этого?
  • 3 Solutions collect form web for “Gunzip в диапазоне файлов”

    Самый простой способ сделать это – использовать вашу оболочку. Предполагая относительно современную оболочку (например, bash), вы можете сделать

     gunzip [ac]*gz 

    Ты имеешь ввиду

     for file in [ac]*.gz; do gunzip "$file"; done 

    или даже gunzip [ac]*.gz (спасибо за напоминание @terdon).

    Если вы делаете это только для уменьшения сетевого трафика, было бы гораздо разумнее просто сжать поток соединения или даже лучше использовать rsync .

    Вы можете безопасно распаковать все файлы, которые были полностью скопированы. Поэтому задача состоит в том, чтобы определить, какие файлы завершены.

    Предположим, что каталог пуст до начала копирования и что распакованные файлы записываются в другой каталог. Одна возможность определить, какие файлы готовы к распаковке, – это ждать следующего файла.

    Если это подходит для вас, я могу предоставить для этого некоторый код.

    Linux и Unix - лучшая ОС в мире.