Saat bekerja pada baris perintah di Linux, Anda mungkin menemukan diri Anda dalam situasi di mana Anda perlu membagi file menjadi beberapa bagian. Jika Anda sudah mencari cara untuk melakukan ini, atau hanya ingin tahu bagaimana ini bisa dilakukan, Anda akan senang mengetahui ada alat - dijuluki csplit - yang dibuat untuk tujuan ini.
Dalam tutorial ini, kita akan membahas dasar-dasar alat ini serta mempelajari cara menggunakannya. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua perintah/instruksi yang disebutkan di sini telah diuji pada Ubuntu 16.04LTS.
Perintah Linux Csplit
Inilah cara halaman manual perintah mendefinisikannya:
csplit - split a file into sections determined by context lines
Berikut sintaks generiknya:
csplit [OPTION]... FILE PATTERN...
File kecil individual yang dibuat oleh csplit memiliki nama seperti xx00 dan xx01. Definisi berikut - diambil dari halaman manual perintah - harus membuat segalanya lebih jelas:
Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte
counts of each piece to standard output.
Contoh tipe T&J berikut akan memberi Anda ide bagus tentang cara kerja perintah csplit.
Q1. Bagaimana cara membagi file berdasarkan jumlah baris?
Misalkan file Anda berisi 6 baris, dan persyaratannya adalah membagi file tersebut pada baris ketiga, maka ini dapat dilakukan dengan melewatkan '3' sebagai argumen baris perintah setelah perintah dan nama file.
Misalnya, dalam kasus kami, file1 berisi baris berikut:
1 Asia
2 Africa
3 Europe
4 North America
5 South America
6 Australia
Dan inilah perintah yang kami jalankan:
csplit file1 3
Angka yang dihasilkan dalam output adalah jumlah byte untuk file yang dihasilkan oleh perintah. Tak perlu dikatakan, dua file diproduksi di output, yaitu xx00 dan xx01.
Isi file-file ini mengkonfirmasi perpecahan terjadi pada baris nomor 3.
Q2. Bagaimana cara membagi file menggunakan ekspresi reguler?
Anda juga dapat menggunakan ekspresi reguler dengan perintah csplit. Misalnya, pada kasus sebelumnya, jika Anda ingin alat tersebut mengulang pola sekali lagi, Anda dapat melakukannya dengan menggunakan perintah berikut:
csplit file1 3 {1}
Jadi dalam hal ini, tiga file keluaran dihasilkan:
Q3. Bagaimana cara memiliki awalan khusus alih-alih default 'xx'?
Secara default, file yang dihasilkan csplit dalam output memiliki 'xx' sebagai awalan. Namun, jika mau, Anda dapat mengubah awalan menggunakan -f opsi baris perintah, yang memerlukan awalan baru sebagai inputnya.
Misalnya, perintah berikut akan menghasilkan file dengan awalan 'htf'.
csplit file1 1 -f htf
Q4. Bagaimana cara memaksa csplit untuk tidak menghapus file keluaran jika terjadi kesalahan?
Perintah csplit, secara default, menghapus file keluaran (apa pun, jika dibuat) segera setelah menemukan situasi kesalahan. Misalnya, tangkapan layar berikut mengonfirmasi bahwa tidak ada file keluaran yang akhirnya dibuat:
Namun, jika mau, Anda dapat mengubah perilaku ini dengan menggunakan -k pilihan dalam perintah. Misalnya, perintah yang sama dijalankan lagi, tetapi dengan opsi ini, dan file keluaran kali ini tidak dihapus.
Q5. Bagaimana cara menekan garis yang cocok dengan pola masukan?
Perintah csplit juga menyediakan opsi untuk menekan baris yang cocok dengan pola masukan. Opsi yang dimaksud adalah --suppress-matched .
Misalnya, perintah berikut membagi file (file1) pada baris 2 (xx00 akan berisi baris 1, sedangkan xx11 akan berisi sisa baris).
csplit file1 2
Tetapi jika Anda ingin menekan baris 2, Anda dapat menjalankan perintah berikut:
csplit --suppress-matched file1 2
Q6. Bagaimana cara menggunakan jumlah digit khusus alih-alih 2 default?
Sama seperti awalan itu sendiri, jumlah digit yang mengikuti awalan dalam nama file keluaran juga dapat disesuaikan. Jadi misalkan Anda ingin memiliki nama seperti xx000 dan xx0001, Anda dapat melakukannya menggunakan -n opsi baris perintah, yang memerlukan nomor input yang menandakan jumlah digit baru.
Misalnya:
csplit -n 1 file1 2
Perintah di atas akan menghasilkan nama file seperti xx0, xx1, dan seterusnya.
Kesimpulan
Rata-rata pengguna baris perintah Linux mungkin tidak memerlukan csplit setiap hari, tetapi ini jelas merupakan utilitas penting yang setidaknya harus Anda ketahui. Kami telah membahas sebagian besar contoh dasar dan opsi baris perintah di sini. Cobalah, lalu buka halaman manual alat untuk mempelajarinya lebih lanjut.