$ 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