Laman » bagaimana untuk » Pecahkan fail teks pada separuh (atau sebarang peratusan) pada Ubuntu Linux

    Pecahkan fail teks pada separuh (atau sebarang peratusan) pada Ubuntu Linux

    Jika anda mempunyai fail teks yang tidak berguna yang anda sedang cuba proses, memecahnya dalam seksyen kadang-kadang dapat membantu masa pemprosesan, terutamanya jika kami akan mengimport fail ke dalam spreadsheet. Atau anda mungkin mahu mengambil satu set baris tertentu dari fail.

    Masukkan pecahan, wc, ekor, kucing, dan grep. (jangan lupa sed dan awk). Linux mengandungi set utiliti yang kaya untuk berfungsi dengan fail teks pada baris arahan. Untuk tugas kami hari ini, kami akan menggunakan split dan wc.

    Mula-mula kita melihat fail log kami ... .

    > ls -l
    -rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log

    Kami melihat saiz fail ialah 42MB. Itu agak besar ... tetapi berapa banyak baris yang kita hadapi? Jika kami mahu mengimport ini ke dalam Excel, kami perlu menyimpannya kurang daripada 65k baris.

    Mari kita periksa jumlah baris dalam fail menggunakan utiliti wc, yang bermaksud "kiraan perkataan".

    > wc -l access.log
    Access.log 146330

    Kami sedang mengatasi had kami. Kita perlu membahagikan ini kepada 3 segmen. Kami akan menggunakan utiliti berpecah untuk melakukan ini.

    > pecahan -l 60000 access.log
    > ls -l

    jumlah 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 telah membahagikan fail teks kami kepada 3 fail berasingan, masing-masing mengandungi kurang daripada 60000 baris, yang sepertinya nombor yang baik untuk dipilih. Fail terakhir mengandungi jumlah yang tersisa. Sekiranya anda akan memotong fail ini separuh, anda akan melakukannya:

    > split -l 73165 access.log

    Dan, itu semua ada padanya.