複数の出力ファイルに移動するために標準出力を分割する方法は?

複数の出力ファイルに移動するために標準出力を分割する方法は?

command標準出力で多くの行を印刷するコマンドがあるとします。

line1
line2
.....
lineN

出力をディスクに保存したいのですが、単一ファイルではなく、それぞれ1000行のstdoutを含む一連のファイルとして保存したいと思います。

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

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

etc

私は答えをインターネットで検索してみましたが、Googleがteeこの場合役に立たないコマンドを入力するように求めるたびに。たぶん私は間違ったクエリを入力したかもしれません。

ベストアンサー1

ファイルを保存したら、split行数に応じていつでもファイルをファイルブロックまたは複数のファイルに分割できます。

split -l 1000 output_file

または試してみる方が良いです

command | split -l 1000 -

これにより、出力ストリームは1000行ごとにファイルに分割されます(デフォルトは-lオプションがない場合は1000行です)。

次のコマンドは、出力が生成され保存用にファイルに分割されたときに生成されたファイル名にプレフィックスを追加または強制するための追加の柔軟性を提供します。

command | split -l 1000 - small-

おすすめ記事