Panduan Perintah cut di Linux: Trik Ekstraksi Data

Gambaran Umum

Bagi seorang administrator sistem maupun engineer yang berkutat di terminal Linux, manipulasi berkas teks berukuran besar serta pembedahan log sistem merupakan rutinitas harian. Utilitas cut hadir sebagai salah satu perkakas bawaan Unix yang sangat tangguh untuk urusan pemotongan dan penyaringan data terstruktur. Melalui artikel ini, kita akan menjelajahi berbagai parameter kunci cut pada Ubuntu—mulai dari pemfilteran berbasis pembatas (delimiter), pemilihan kolom, hingga pemotongan berdasarkan posisi bita maupun karakter.

Menyiapkan Direktori Kerja dan Berkas Sampel

Langkah awal yang baik adalah mengisolasi lingkungan pengujian. Buat folder kerja baru di direktori beranda lalu langsung beralih ke dalamnya melalui eksekusi perintah mkdir -p ~/cut_practice && cd ~/cut_practice.

Inisialisasi direktori pengujian ~/cut_practice

Selanjutnya, susun dokumen teks sederhana bernama users.txt yang memuat rekaman pengguna dengan pemisah titik dua (:) menggunakan instruksi printf.

Membuat file users.txt dengan format pembatas titik dua

Selain struktur teks bergaya /etc/passwd, siapkan pula berkas data bertipe CSV (servers.csv) yang memanfaatkan tanda koma (,) sebagai pembatas status infrastruktur server.

Membuat berkas servers.csv untuk data server

Pastikan seluruh data pengguna pada users.txt terdistribusi rapi sesuai kolom pemisah dengan meninjau isinya via cat users.txt.

Memeriksa isi file users.txt

Validasi pula integritas data pada dokumen servers.csv dengan memanggil perintah cat servers.csv.

Memeriksa isi file servers.csv

Mengekstrak Kolom Spesifik Menggunakan Delimiter (-d) dan Field (-f)

Untuk menyaring hanya deretan pengenal identitas akun pada users.txt, tentukan titik dua sebagai pemisah dan ambil ruas paling depan lewat perintah cut -d ':' -f 1 users.txt.
Kombinasi argumen -d ':' berfungsi mendefinisikan pembatas antarentri, sementara -f 1 membatasi keluaran agar terminal cuma mencetak kolom ID.

Ekstraksi kolom pertama pada users.txt

Apabila Anda membutuhkan lebih dari satu kolom yang letaknya terpisah, cantumkan indeks kolom dengan jeda koma seperti pada cut -d ':' -f 2,4 users.txt.
Perintah tersebut langsung menyaring nama personil (kolom 2) sekaligus departemen tempatnya bekerja (kolom 4) tanpa menyertakan kolom yang tidak dibutuhkan.

Memilih kolom kedua dan keempat sekaligus

Pengambilan deretan kolom yang letaknya berurutan dapat disederhanakan dengan simbol tanda hubung (-), contohnya pada instruksi cut -d ',' -f 1-3 servers.csv.
Parameter -d ',' membaca format CSV, sedangkan -f 1-3 menarik rentang utuh mulai dari label server, alamat IP, hingga status keaktifannya.

Menarik rentang kolom 1 sampai 3 dari berkas CSV

Ketika Anda ingin mengabaikan kolom pembuka lalu menampilkan semua sisa kolom hingga batas akhir baris, jalankan sintaks terbuka cut -d ':' -f 2- users.txt.
Notasi -f 2- menginstruksikan sistem untuk membuang kolom identitas (ID) dan menyajikan keseluruhan atribut profil di kanannya tanpa perlu menuliskan indeks penutup.

Menampilkan seluruh kolom mulai dari kolom kedua hingga akhir

Pemotongan Data Berdasarkan Posisi Karakter (-c) dan Bita (-b)

Ketika format data tidak memiliki karakter pembatas yang seragam, pendekatan berbasis offset indeks huruf menjadi solusi ideal. Untuk mengisolasi karakter ke-1 hingga ke-5 pada setiap baris, gunakan cut -c 1-5 users.txt.
Opsi -c 1-5 mengabaikan struktur delimiter dan langsung mengiris blok teks sesuai koordinat karakter yang ditentukan.

Memotong string berdasarkan posisi karakter 1 sampai 5

Teknik irisan ini juga fleksibel diterapkan untuk menyaring fragmen di tengah-tengah baris teks lewat perintah cut -c 5-15 users.txt.
Sistem akan memilah dan menyajikan potongan teks yang berada tepat di antara indeks karakter ke-5 hingga ke-15.

Mengambil segmen teks pada posisi karakter 5 hingga 15

Di sisi lain, manipulasi aliran teks juga bisa diproses secara langsung pada tataran memori bita melalui cut -b 1-8 servers.csv.
Parameter -b 1-8 mencuplik segmen data selebar 8 bita awal dari tiap baris, yang pada contoh ini menghasilkan nama identitas unik tiap unit server.

Memotong data berdasarkan rentang bita 1 hingga 8

Eksplorasi Tingkat Lanjut: Format Ulang Delimiter dan Inversi Kolom

Format keluaran default cut biasanya mempertahankan delimiter asli. Jika Anda ingin mengubah pemisah data hasil ekstraksi agar lebih rapi saat dipresentasikan, manfaatkan flag --output-delimiter seperti pada cut -d ':' -f 1,2,4 --output-delimiter=' | ' users.txt.
Alih-alih menampilkan tanda titik dua standar, output terminal kini disajikan dengan simbol pipa berjarak spasi (|) sehingga struktur laporan tampak jauh lebih bersih.

Mengubah delimiter output terminal menjadi simbol pipa

Kebutuhan analitik tak jarang menuntut kita membuang satu atribut spesifik saja. Daripada mendaftarkan seluruh indeks lain secara manual, terapkan fitur inversi dengan perintah cut -d ',' --complement -f 2 servers.csv.
Argumen --complement membalik seleksi -f 2, yang berarti sistem justru mengecualikan alamat IP (kolom kedua) dan menampilkan kombinasi kolom 1, 3, serta 4.

Mengecualikan kolom kedua memakai opsi complement

Tantangan lain dalam parsing teks mentah adalah kemunculan baris komentar atau baris kosong tanpa pembatas. Gunakan parameter penekan baris non-pembatas melalui cut -d ':' -s -f 2 users.txt.
Flag -s (--only-delimited) memastikan bahwa baris yang tidak memuat karakter pembatas (:) akan disaring keluar secara otomatis, menyisakan pemrosesan kolom nama hanya pada baris yang valid.

Menyaring baris yang memiliki pembatas dengan opsi -s

Melalui pemahaman fungsionalitas ragam parameter perintah cut di lingkungan Ubuntu ini, pemrosesan berkas terstruktur kini dapat diselesaikan dengan ringkas langsung dari baris perintah. Terapkan kombinasi opsi tersebut ke dalam skrip bash harian Anda guna mempercepat tugas inspeksi dan otomasi data.