我正在寻找一种方法来扫描目录(非递归)并使用原始文件夹名称对其进行 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_