我希望将一个大文件(带有~17M行的字符串)拆分成多个文件,每个块中的行数不同.是否可以将数组发送到' split -l '命令,如下所示:
[
1=>1000000,
2=>1000537,
...
]
Run Code Online (Sandbox Code Playgroud)
以便将那么多行发送到每个块
使用复合命令:
{
head -n 10000 > output1
head -n 200 > output2
head -n 1234 > output3
cat > remainder
} < yourbigfile
Run Code Online (Sandbox Code Playgroud)
这也适用于循环:
{
i=1
for n in 10000 200 1234
do
head -n $n > output$i
let i++
done
cat > remainder
} < yourbigfile
Run Code Online (Sandbox Code Playgroud)
这不适用于OS X,其中head读取并丢弃其他输出.