通过压缩 tar 备份每个目录

通过压缩 tar 备份每个目录

我正在寻找一种方法来扫描目录(非递归)并使用原始文件夹名称对其进行 tar,然后删除该文件夹(所以我将只压缩该文件夹)有人有这样的命令吗?

答案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_

相关内容