Пакетная перепаковка архивов в 7z

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску

Функция делает поиск 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
}