我正在使用 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)
使用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总是使用相同长度的后缀,所以默认产生01,02等等。如果你想避免前导零,你需要对结果进行后处理(并接受次优排序行为):
rename 's/^0+//' 0*
Run Code Online (Sandbox Code Playgroud)
您还需要确保split的后缀长度为您需要的所有文件提供足够的空间;默认的,两个数字,允许99个文件,如果你从1开始,您可以使用指定更多的数字-a,例如 -a 3,-a 4等等。
(split当它用完后缀时停止,有错误。如果你坚持它的默认值,它会根据需要自动增加后缀长度,但给它一个开始后缀会禁用它。)