如何拆分标准输出以转到多个输出文件?

DNN*_*NNX 14 text-processing

说,我有一个命令command可以将大量行打印到标准输出:

line1
line2
.....
lineN
Run Code Online (Sandbox Code Playgroud)

我想将输出保存到磁盘,但不是作为单个文件,而是作为一个文件序列,每个文件都有 1000 行标准输出:

file0001.txt:
-------------
line1
....
line1000

file0002.txt:
-------------
line1001
....
line2000

etc
Run Code Online (Sandbox Code Playgroud)

我试图用谷歌搜索答案,但每次谷歌都指向我tee命令,这在这种情况下是无用的。可能,我输入了错误的查询。

Nik*_*ley 27

完成保存文件后,您始终可以split根据行数将文件分成文件片段或多个文件。

split -l 1000 output_file

甚至更好的尝试

command | split -l 1000 -

这会将输出流拆分为每 1000 行的文件(默认为 1000 行,没有 -l 选项)。

下面的命令将为您提供额外的灵活性,以便在生成输出并拆分以存储到文件中时将生成的文件名添加或强制执行前缀。

command | split -l 1000 - small-