zcat или gunzip: продолжить с ошибкой

При попытке заархивировать или распаковать большое количество файлов gzip, zcat/gunzip прекратит работу с этой ошибкой:

gzip: <gzip-file>: unexpected end of file

Можно ли как-нибудь заставить gunzip или zcat продолжить / продолжить в случае ошибки без остановки? Это важно, так как мы ожидаем, что некоторые gzip-файлы будут содержать ошибки, но хотели бы, чтобы наша операция распаковки происходила без остановки и перемещения ошибочных файлов вручную.

1 ответ

Решение

Вы можете использовать скрипт (или функцию) оболочки следующим образом:

function myzcat() {
     for file in "$@"; do
         zcat -- "$file" 2>/dev/null || true
     done
}

....
myzcat corrupted-or-good/*.gz >gunzipped-output.txt
Другие вопросы по тегам