Tar 根据文件夹名称将目录和内容压缩为单独的、有日期的文件 bash 脚本

Tar 根据文件夹名称将目录和内容压缩为单独的、有日期的文件 bash 脚本

这是在 Debian 系统上。

我已经将文件和内容压缩到单独的文件夹中,效果很好,但文件名中添加日期后就不行了。删除日期部分后,效果就正常了。

我很确定这与语法有关,因为我根据遇到的几个例子得出了这个结论……

相关代码如下:

for i in */; do tar -zcvf "$i $(date '+%y-%m-%d').tar.gz" "$i"; done

答案1

在我看来,“$i...”位是问题所在 - 空格字符可能也无济于事。$i 在路径末尾获取“/”,这很可能是导致问题的原因。我认为以下内容将解决您的问题({i::-1} 删除最后一个字符:

for i in */; do tar -zcvf ${i::-1}-$(date '+%y-%m-%d').tar.gz "$i"; done

相关内容