$ split -l 100 input_file output_file
di mana -l
adalah jumlah baris pada setiap file. Ini akan membuat:
- output_fileaa
- file_keluaran
- file_keluaran
- output_filead
- ....
Anda dapat menggunakan utilitas inti bash linux split
split -b 1M -d file.txt file
Perhatikan bahwa M
atau MB
keduanya OK tapi ukurannya berbeda. MB adalah 1000 * 1000, M adalah 1024^2
Jika Anda ingin memisahkan dengan garis, Anda dapat menggunakan -l
parameter.
PEMBARUAN
a=(`wc -l yourfile`) ; lines=`echo $(($a/12)) | bc -l` ; split -l $lines -d file.txt file
Solusi lain seperti yang disarankan oleh Kirill, Anda dapat melakukan hal seperti berikut
split -n l/12 file.txt
Perhatikan bahwa l
bukan one
, split -n
memiliki beberapa opsi, seperti N
, k/N
, l/k/N
, r/N
, r/k/N
.
Jawaban John tidak akan menghasilkan file .txt seperti yang diinginkan OP. Gunakan:
split -b=1M -d file.txt file --additional-suffix=.txt