find . -type f -name "*.gz" | while read line ; do gunzip --to-stdout "$line" | bzip2 > "$(echo $line | sed 's/gz$/bz2/g')" ; done
Эта команда ищет все файлы в текущем каталоге с расширением .gz, затем поочередно разархивирует их из формата gzip в stdout и сразу же сжимает их в формат bzip2, сохраняя с тем же именем, но заменяя .gz на .bz2. Это полезно для перекодирования файлов с gzip в более эффективный формат bzip2. Альтернативой может быть использование утилиты «for» вместо «find» и «while» для более простой команды.
