$ split -l 100 input_file output_file
どこで -l
各ファイルの行数です。これにより以下が作成されます:
- output_fileaa
- output_fileab
- output_fileac
- output_filead
- ....
Linux bash コア ユーティリティ split
を使用できます。
split -b 1M -d file.txt file
M
に注意してください または MB
どちらでもOKですが、サイズが異なります。 MB は 1000 * 1000、M は 1024^2
行で区切りたい場合は、 -l
を使用できます パラメータ。
更新
a=(`wc -l yourfile`) ; lines=`echo $(($a/12)) | bc -l` ; split -l $lines -d file.txt file
キリルが提案する別の解決策として、次のようなことができます
split -n l/12 file.txt
l
であることに注意してください one
ではない 、 split -n
N
のようないくつかのオプションがあります 、 k/N
、 l/k/N
、 r/N
、 r/k/N
.
ジョンの答えは、OPが望むように.txtファイルを生成しません。用途:
split -b=1M -d file.txt file --additional-suffix=.txt