1

Мне не удалось сжать содержимое папки в Unix, обратите внимание, что я не хочу сжимать сам каталог, а содержимое внутри.

до сих пор .. для сжатия файлов, которые я использую:

compress /serv/test/file.sas7dbt

Допустим, я хочу сжать все файлы в тесте папок, как мне этого добиться?

1 ответ1

1

Если вы можете использовать bzip2:

for file in /serv/test/*; do
    bzip2 -k $file
done

Опция -k сохраняет исходный файл.

С компрессом петля была бы действительно близка.

Если вы можете использовать tar , он создаст один файловый архив вместо нескольких файлов.

РЕДАКТИРОВАТЬ: как указал gman, утилита find может использоваться для сжатия вместо выполнения цикла for:

find /serv/test/ -type f -exec bzip2 -k {} \;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .