从coreutils版本8.16(2012-03-26)开始,您可以执行以下操作:
split --numeric=1 -l 100 largeFile.txt smallFile.txt.
Run Code Online (Sandbox Code Playgroud)
既然你说的是 Linux,那就意味着 split 来自 GNU coreutils。如果您查看 split 的源代码,处理 -d / --numeric-suffixes 选项的代码设置为采用可选参数,但调用getopt_long不会启用该参数。也许是由于兼容性原因?你应该给他们发邮件询问。
http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=src/split.c;hb=HEAD
@@ -1153,7 +1153,7 @@ main (int argc, char **argv)
int this_optind = optind ? optind : 1;
char *slash;
- c = getopt_long (argc, argv, "0123456789C:a:b:del:n:u",
+ c = getopt_long (argc, argv, "0123456789C:a:b:d:el:n:u",
longopts, NULL);
if (c == -1)
break;
Run Code Online (Sandbox Code Playgroud)
此补丁允许处理可选的数字参数。然后你可以调用 split 作为:
split -d 1 foo foo.split.
Run Code Online (Sandbox Code Playgroud)
而且数字是从 1 开始的,而不是从 0 开始。
您可以从http://www.gnu.org/software/coreutils/获取源代码,并自行应用此更改,如果您愿意,也可以在本地使用它。