Командная строка Linux: рекурсивная перезапись каждого файла с gzip-версией?

______________ myFolder

что я могу заменить _____________ рекурсивно gzip на каждый файл, начиная с MyFolder и иметь возможность gzip сжатия можно перезаписать файл (переименовать файл gzip оригинальным именем)?

15
задан studiohack
07.04.2023 5:09 Количество просмотров материала 2582
Распечатать страницу

3 ответа

вы также можете попробовать

 find myFolder -type f -exec gzip {} \; -exec mv {}.gz {} \;
4
отвечен Matt Beldyk 2023-04-08 12:57

попробуй:

find myFolder -type f -exec gzip {} +
2
отвечен 2023-04-08 15:14

простой, не очень элегантный сценарий bash просто cd в, gzip их все в цикле, и mv их обратно (gzip по умолчанию удаляет несжатый файл):

#!/bin/bash
cd myFolder
for f in `find ./ -type f`
do
    gzip $f
    mv $f.gz $f
done

поместите это в файл с именем "gzip_and_rename.sh" например, chmod -775 и запустить его как. /gzip_and_rename.sh (при запуске из самой папки myFolder удалите строку "cd myFolder" из сценария).

1
отвечен Wes Mason 2023-04-08 17:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх