Пакетная перепаковка архивов в 7z: различия между версиями

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
(Новая: Функция делает поиск '''bz2''', '''gz''', '''tar.bz2''' и '''tar.gz''' архивов в указанном каталоге и перепаковывает их в 7z...)
 
Строка 16: Строка 16:
rm -f "${file%.*}"
rm -f "${file%.*}"
done
done
}
</source>
</source>


[[Category:Shell-функция]][[Category:Скрипт]]
[[Category:Shell-функция]][[Category:Скрипт]]

Версия 14:34, 26 октября 2008

Функция делает поиск bz2, gz, tar.bz2 и tar.gz архивов в указанном каталоге и перепаковывает их в 7z. Можно, например, периодически натравливать ее на каталог с выкачиваемыми патчами для Linux-ядра.


7zit() {
find "${1}" -regextype posix-extended -regex ".*\.(bz2|gz|tar\.bz2|tar.gz)" |
while read file
do
	if [ "${file##*.}" == "bz2" ]
		then
		bunzip2 "${file}"
	else
		gunzip "${file}"
	fi &&\
	7z a -mx=9 "${file%.*}.7z" "${file%.*}" &&\
	rm -f "${file%.*}"
done
}