printf 'n Log-%02d.tar\n' {2..}|tar cf /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/OUTPUT/Log-01.tar -ML1900m /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/Temp
我尝试使用上面的代码来 tar 1000 个文件大小(变化)大于 2 GB 的文件,这些文件需要归档为 1.9 GB 的单独 TAR 文件。
例如,如果有 1500 个大小为 7 GB 的文件,则需要将其归档为 (7 GB/1.9 GB) 4 个 tar 文件: log-01.tar, ..., log-04.tar
但出现错误:
printf: {2..} expected numeric value
tar: -ML1900m: No such file or directory
我应该在这里改变什么?有没有办法在不使用 GNU tar 中的创建卷方法的情况下做到这一点?
答案1
错误消息基本上说明了问题是什么,“1900m”不被识别为“-L”的参数,并且手册页对此tar
进行了解释。当您想要指定兆字节数时(非常明智地,“m”是“milli”的前缀,这对字节没有意义)必须使用大写“M”(tar
实际上使用 me双字节,但我们不讨论这个)。