Эффективно конвертировать большой RAR-файл в несколько BZIP2 - PullRequest
0 голосов
/ 16 ноября 2011

Ситуация:

Я получил большой файл rar, содержащий несколько файлов журнала.Я конвертирую каждый отдельный файл журнала в архив bzip2.

Что я делаю сейчас:

Полностью распаковываем файл rar и только затем преобразуем все файлы журнала вАрхивы bzip2.

Что я хотел бы сделать:

Будьте максимально эффективными, не сохраняя сначала все несжатые файлы.

Мой первыйИдея состоит в том, чтобы проанализировать вывод unrar, чтобы определить, когда файл был полностью распакован, а затем запустить сжатие bzip2.

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

1 Ответ

2 голосов
/ 16 ноября 2011

Поскольку unrar поддерживает команду p для печати файлов, что-то вроде этого должно работать:

for FN in $(unrar lb "$RARFILE"); do
   unrar p -ierr "$RARFILE" "$FN" | bzip2 -c > "$FN.bz2"
done

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...