【发布时间】:2017-10-02 12:15:24
【问题描述】:
我有一系列文件夹,每个文件夹都包含各种子文件夹、文件等。我正在尝试将它们压缩成 .tar.gz
目标文件夹结构例如G:/datastore 及以下要压缩的文件夹简单地命名为 yyyymmdd
目的地将是例如G:/datastore/archive 和文件将毫不奇怪地命名为 yyyymmdd.tar.gz
一次执行一个每日文件夹的长格式命令可以正常工作....
tar -czvf /cygdrive/g/datastore/archive/20160108.tar.gz /cygdrive/g/datastore/20160108
但是尝试使用 for 循环让这个突如其来的压缩数天失败了......
我尝试过的语法;
对于 20160107 20160108 中的一天 ;do tar -czvf /cygdrive/g/datastore/archive/{day}.tar.gz /cygdrive/g/datastore/{day} ;done
我得到的错误是
tar:从成员名称中删除前导 `/' tar:/cygdrive/e/tickstore/datastore/{day}:无法统计:没有这样的文件或目录 tar:由于先前的错误而以失败状态退出
如果我尝试导航,所以我坐在目标目录中并删除文件路径,我会得到一个略有不同但基本相同的错误;
这样的语法;
cd /cygdrive/g/datastore
20160107 20160108 中的一天 ;do tar -czvf /cygdrive/g/datastore/archive/{day}.tar.gz {day} ;done
tar: {day}: 无法统计:没有这样的文件或目录 tar:由于先前的错误而以失败状态退出
【问题讨论】:
-
我建议 {day} 需要为 ${day} 或 $(day)
-
该死的。菜鸟错误。感谢拉曼修复它。现在感觉很尴尬......