![резервное копирование путем сжатия tar каждого каталога](https://rvso.com/image/1036274/%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%83%D1%82%D0%B5%D0%BC%20%D1%81%D0%B6%D0%B0%D1%82%D0%B8%D1%8F%20tar%20%D0%BA%D0%B0%D0%B6%D0%B4%D0%BE%D0%B3%D0%BE%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0.png)
Я ищу метод сканирования каталога (не рекурсивный) и его архивации с использованием исходного имени папки, а затем удаления папки (чтобы у меня была сжата только папка). Есть ли у кого-нибудь команда для этого?
решение1
Я могу предложить следующий однострочный вариант (предположим, что текущий каталог является родительским для каталогов, для которых выполняется резервное копирование):
for f in */; do tar -czf "${f%/}.tar.gz" "$f"; rm -rf "$f"; done
Чтобы изменить имя каждой папки на строчные буквы и заменить пробелы подчеркиванием:
for f in */; do f="${f// /_}"; f="${f,,}"; tar -czf "${f%/}.tar.gz" "$f" && rm -rf "$f"; done_