拆分命令以创建带有数字作为文件名的文件

Noo*_*oor 4 filenames split

我正在使用 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
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 8

使用GNUsplit,是的:

split --numeric-suffixes=1
Run Code Online (Sandbox Code Playgroud)

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

要获得只有数字的文件名,您可以指定一个空前缀:

split --numeric-suffixes=1 -l 2 t5 ""
Run Code Online (Sandbox Code Playgroud)

split总是使用相同长度的后缀,所以默认产生0102等等。如果你想避免前导零,你需要对结果进行后处理(并接受次优排序行为):

rename 's/^0+//' 0*
Run Code Online (Sandbox Code Playgroud)

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

split当它用完后缀时停止,有错误。如果你坚持它的默认值,它会根据需要自动增加后缀长度,但给它一个开始后缀会禁用它。)

  • 我*确实*提到你必须指定前缀。无论如何,请参阅我更新的答案。 (2认同)