Beranda » bagaimana » Membagi file teks menjadi setengah (atau persentase apa pun) di Ubuntu Linux

    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 -l

    total 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.