Perintah untuk membagi file teks sesuai dengan jumlah baris

16

Situasi:

Saya memiliki file teks sekitar 1,5GB yang berisi tentang 4000000baris.

Saya ingin mengimpor ini ke Libreoffice calcdan karena Anda tahu Anda tidak dapat mengimpor file besar ini dengan sejumlah besar baris (saya pikir maksimum adalah 65000 baris).

Bagaimanapun yang saya butuhkan adalah perintah sederhana yang dapat membagi file ini menjadi file yang lebih kecil dengan jumlah baris di setiap file <65000 baris.

Maythux
sumber
@akermania: selesai.
Tarun

Jawaban:

19

Anda dapat menggunakan splitperintah:

split -l N /path-to-file

Di mana N adalah jumlah maksimum garis yang bisa ada dalam file.

Perintah ini akan membagi file menjadi file yang lebih kecil masing-masing dengan N jumlah baris.

Gunakan man splituntuk info lebih lanjut.

Tarun
sumber
3

Jika Anda menggunakan split dan membuat banyak file, masalah Anda selanjutnya adalah bagaimana menggunakan Calc untuk memanipulasi semua data di semua file itu. Dan itu menumpuk satu masalah ke yang lain. Dengan 65000 baris, ini akan menjadi 62 (!) Halaman.

Anda hanya menggunakan alat yang salah. Gunakan Libreoffice Base atau MySQL untuk mengimpor data dan kemudian gunakan Libreoffice Calc untuk melakukan perhitungan dan / atau manipulasi data tersebut.

Mengenai batas ini tergantung pada Libreofficeversion yang Anda gunakan:

  • pre 3.3.3: batasnya adalah 65 536 baris
  • 3.3.3 dan yang lebih baru: 1 048 576 baris (1 jt)

Jika mau, Anda dapat melakukan rekaman 4m dengan 3.3.3+ dengan 4 halaman tetapi modul Pangkalan LibreOffice dapat mengimpor dengan hampir tanpa batas baris sama sekali jika itu tidak cukup. Berikut ini adalah pengantar tentang cara melakukan ini dan ini adalah contoh database dengan file impor . Memanipulasi data di Base mudah dan cepat.

Rinzwind
sumber