Как разархивировать файл, который сжат несколько раз

while true; do for bzipfile in $(file *|egrep bzip2|awk '{print $1'}|cut -d':' -f1); do bunzip2 $bzipfile; done; done


Бесконечный цикл, который разархивирует все файлы, сжатые bzip2, находящиеся в текущем каталоге и его подкаталогах.

while true; — бесконечный цикл.
for bzipfile in $(file *|egrep bzip2|awk '{print $1'}|cut -d':' -f1); — для каждого файла, определенного как bzip2:
bunzip2 $bzipfile; — разархивировать файл.

Команда полезна для разархивации рекурсивно сжатых файлов bzip2 в текущем каталоге и подкаталогах.

Альтернативы: Вместо использования такого скрипта, можно воспользоваться командой find совместно с exec для поиска и разархивации файлов.

Пример: find . -type f -name "*.bz2" -exec bunzip2 {} \;

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *