Open Source. ТРУ.

Порой возникают задачи по массовой перепаковке архивов из одного формата в другой. Например, «утрамбовка» целой директории из zip в 7z.
Вот тру-опен-сорс-скрипт repackdir.sh, который сделает все сам — достаточно вызвать его «стоя» в директории с зипами.

#!/bin/sh
for file in *.zip
do
file_basename=`basename "$file" .zip`
echo $file_basename
mkdir "$file.unp"
unzip "$file" -d "$file.unp"
cd "$file.unp"
7zr a -t7z -mx9 "../$file_basename.7z" -r
cd ..
rm -rf "$file.unp"
done
Развесистые субдиректории поддерживаются. Злоупотреблять с ущербными именами файлов не стоит, хотя вроде все должно работать.
Мда… помнится конвертер zip->rar для Windows Scripting Host занимал как-то побольше.
Ахтунги:

  • Пакует с мегасжатием, поэтому процесс ресурсоемкий.
  • Для работы надо, чтобы в системе были установлены пакеты zip (unzip) и p7zip.
Реклама

Добавить комментарий

Please log in using one of these methods to post your comment:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: