获取文件大小并根据大小拆分文件

时间:2013-07-11 11:55:10

标签: unix ksh

我写了一个korn脚本。我想获取文件的大小并将其存储在脚本中的变量中。我不知道如何在变量中获得大小编号,就像文件大小为5GB一样,那么变量必须有5个。

此外,如果文件大小超过5GB,则应将其拆分为2GB文件。

实施例: 我们说文件名是File1,大小是5.6GB。然后该文件应分成3个文件,文件的命名应为File1,File2,File3

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用du -BG <file>获取以GB为单位的尺寸。

因此,您可以这样做:

size=$(du -BG your_file | cut -dG -f1)

然后

[ $size -ge 3 ] && split -d -b2G your_file file

将提供类似

的文件
file00
file01

解释

[ $size -ge 3 ]            &&   split -d -b2G your_file file
----------------------------------------------------------------------
  condition of size         split your_file in blocks of 2GB (-b2G)
     >=3 GB                 with name "file" with numerical suffix (-n)