Membagi file teks menjadi setengah (atau persentase apa pun) di Ubuntu Linux
Jika Anda memiliki file teks yang sulit untuk diproses, membaginya dalam beberapa bagian terkadang dapat membantu memproses waktu, terutama jika kami akan mengimpor file ke dalam spreadsheet. Atau Anda mungkin ingin hanya mengambil satu set garis tertentu dari file.
Masukkan split, wc, tail, cat, dan grep. (jangan lupa sed dan awk). Linux mengandung banyak utilitas untuk bekerja dengan file teks pada baris perintah. Untuk tugas kita hari ini kita akan menggunakan split dan wc.
Pertama kita lihat file log kami ... .
> ls -l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Kami melihat bahwa ukuran file adalah 42MB. Itu agak besar ... tapi berapa banyak garis yang kita hadapi? Jika kami ingin mengimpor ini ke Excel, kami harus menyimpannya kurang dari 65 ribu baris.
Mari kita periksa jumlah baris dalam file menggunakan utilitas wc, yang merupakan singkatan dari "jumlah kata".
> wc -l access.log
146330 access.log
Kami jauh melebihi batas kami. Kami harus membaginya menjadi 3 segmen. Kami akan menggunakan utilitas split untuk melakukan ini.
> split -l 60000 access.log
> ls -ltotal 79124
-rw-rw-r- 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log
-rw-rw-r- 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa
-rw-rw-r- 1 thegeek ggroup 16596545 2006-09-19 12:05 xab
-rw-rw-r- 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
Kami sekarang telah membagi file teks kami menjadi 3 file terpisah, masing-masing berisi kurang dari 60000 baris, yang sepertinya merupakan angka yang baik untuk dipilih. File terakhir berisi jumlah sisa. Jika Anda akan memotong file ini menjadi dua, Anda harus melakukan ini:
> split -l 73165 access.log
Dan, hanya itu yang ada untuk itu.