在 Unix 脚本中创建大小有限的 TAR 文件

在 Unix 脚本中创建大小有限的 TAR 文件
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字节,但我们不讨论这个)。

相关内容