GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membagi satu file teks menjadi beberapa file *.txt?

$ 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

Linux
  1. Cara Menghapus Semua File Dalam Folder Kecuali Satu File Tertentu Di Linux

  2. Cara Menggabungkan Dua File Teks di Linux

  3. Cara membagi satu file menjadi beberapa file berdasarkan baris

  1. Menggabungkan File Tertentu Menjadi Satu File Tunggal?

  2. Bagaimana Cara Memindahkan Garis Dalam File Teks Ke Atas Atau Ke Bawah Dengan Satu Baris?

  3. Cara menambahkan konten dari banyak file ke dalam satu file

  1. Cara Membagi Arsip 'tar' Besar menjadi Beberapa File dengan Ukuran Tertentu

  2. Cara Menambahkan Nomor Baris Ke File Teks Di Linux

  3. Bagaimana cara gzip banyak file menjadi satu file gz?