分割命令创建以数字作为文件名的文件

分割命令创建以数字作为文件名的文件

我正在使用 split 命令来分割一个 40GB 的文件。我希望使用从 1 开始的递增数字来命名生成的分割文件,例如 1, 2, 3 。 。 。

这可能吗 ?

我目前正在使用该命令split --numeric-suffixes=1 -l 2 t5并获取文件名,如下所示:

x01  x02  x03  x04  x05  x06  x07  x08  x09  x10  x11  x12  x13  x14  x15  x16  x17

答案1

使用GNUsplit, 是的:

split --numeric-suffixes=1

将使用数字后缀,从 1 开始。(如果您不想要默认值,您仍然需要指定前缀x。)

要获取仅为数字的文件名,您可以指定空前缀:

split --numeric-suffixes=1 -l 2 t5 ""

split始终使用相同长度的后缀,因此默认生成0102。如果您想避免前导零,则需要对结果进行后处理(并接受次优排序行为):

rename 's/^0+//' 0*

您还需要确保split后缀长度为您需要的所有文件提供足够的空间;默认值是两位数,如果从 1 开始,则允许 99 个文件。您可以使用-a,指定更多数字例如 -a 3-a 4, ETC。

split当后缀用完时停止,并出现错误。如果您坚持默认值,它将根据需要自动增加后缀长度,但给它一个开始后缀会禁用此功能。)

相关内容