Как перекомпрессировать все текстовые файлы в подкаталоге с помощью lzma

find . -name '*.txt' -print0 | parallel -0 -j+0 lzma


Команда «find . -name ‘*.txt’ -print0» будет искать все файлы с расширением «.txt» в текущем каталоге и его подкаталогах, а затем выводить их имена, разделенные нулевым символом.

Команда «parallel -0 -j+0 lzma» будет параллельно запускать команду «lzma» для каждого найденного файла. Опция «-0» указывает, что имена файлов будут передаваться через нулевый символ, чтобы поддерживать файлы с пробелами или специальными символами в именах. Опция «-j+0» указывает на использование максимального количества доступных потоков процессора.

Команда «lzma» выполняет перекомпрессию файла с использованием алгоритма сжатия LZMA. Она заменяет существующий файл новым сжатым файлом, добавляя расширение «.xz».

Эта команда полезна, когда нужно быстро перекомпрессировать все текстовые файлы в подкаталоге с использованием LZMA-сжатия.

Альтернативным подходом может быть использование команды «find» в сочетании с циклом «for», но это потребует больше кода и ручной итерации по файлам. Команда «lzma» также может быть заменена другими архиваторами, такими как «gzip» или «bzip2», в зависимости от предпочтений пользователя.

Ответить

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