Panduan Lengkap Perintah cut di Linux - Ekstrak Kolom yang Diinginkan dari Data Log dan CSV dengan Mudah!

Gambaran Umum

Ketika Anda perlu mengekstrak kolom tertentu secara cepat dari file log berukuran besar atau data CSV di lingkungan Linux, perintah cut adalah alat yang paling ringan dan andal. Pelajari teknik-teknik penting yang dapat langsung diterapkan dalam praktik kerja, mulai dari pemisahan field berbasis delimiter hingga slicing berbasis byte dengan lebar tetap (fixed-width).

Mengekstrak Data CSV dan Akun Sistem Menggunakan Delimiter (-d) dan Field (-f)

Jalankan perintah mkdir -p ~/cut_demo && cd ~/cut_demo untuk membuat direktori khusus latihan perintah cut dan berpindah ke direktori tersebut.

mkdir -p ~/cut_demo && cd ~/cut_demo

Gunakan perintah echo untuk membuat file users.csv sebagai file data pengguna uji coba yang dipisahkan oleh tanda koma (,).

echo -e ‘id,name,role,department\n1,alice,admin,security\n2,bob,dev,backend\n3,charlie,dev,frontend’ > users.csv

Perintah cut adalah alat untuk mengekstrak kolom (field), byte, atau rentang karakter tertentu dari file teks atau output perintah berdasarkan delimiter yang ditentukan.
Gunakan opsi -d untuk menentukan koma (,) sebagai delimiter dan opsi -f untuk memilih field kedua dan keempat agar informasi nama serta departemen dari file users.csv dapat ditampilkan dengan rapi.
⚙️ [Opsi Utama]

-d : Menentukan delimiter yang digunakan untuk memisahkan field (default adalah karakter tab).
-f : Menentukan nomor atau rentang field (kolom) yang akan diekstrak.
-c : Memotong data berdasarkan posisi karakter alih-alih byte.
-b : Memotong data berdasarkan posisi byte.
--complement : Membalikkan output untuk menampilkan semua bagian kecuali field atau rentang karakter yang ditentukan.
-s : Mengabaikan baris yang tidak mengandung delimiter dari output.
--output-delimiter : Mengubah delimiter field yang digunakan saat menampilkan hasil ke string yang diinginkan.

cut -d’,’ -f2,4 users.csv

Dari file /etc/passwd yang berisi informasi akun sistem Linux, ekstrak nama akun (field 1) dan path shell default (field 7) berdasarkan delimiter titik dua (:), lalu gunakan perintah head untuk memeriksa 5 baris pertama.
Dengan menggabungkan perintah cut dan pipe (|) seperti ini, Anda dapat memantau data kolom penting dari file konfigurasi sistem yang besar dengan sangat mudah.

cut -d’:’ -f1,7 /etc/passwd | head -n 5

Menangani Log Lebar Tetap Menggunakan Slicing Satuan Byte (-b) dan Karakter (-c)

Jalankan perintah cd ~/cut_demo untuk berpindah ke direktori kerja yang telah dibuat sebelumnya guna melanjutkan latihan.

cd ~/cut_demo

Buat file log sampel service.log dengan format tetap untuk tanggal, waktu, dan log level guna mempraktikkan slicing berbasis karakter lebar tetap (fixed-width).

echo -e ‘2026-10-07 14:00:01 [INFO] Service started\n2026-10-07 14:00:05 [WARN] High memory usage\n2026-10-07 14:00:12 [ERROR] Connection timed out’ > service.log

Tentukan opsi -c1-10 pada perintah cut untuk memotong dari karakter ke-1 hingga ke-10 pada setiap baris agar informasi tanggal tahun-bulan-hari dapat diekstrak secara rapi.

cut -c1-10 service.log

Gunakan opsi -c12-19 untuk memisahkan dan menampilkan informasi timestamp jam:menit:detik yang berada di posisi karakter ke-12 hingga ke-19 pada file log secara akurat.

cut -c12-19 service.log

Jika posisi akhir dihilangkan seperti pada -c22-, Anda dapat memotong semua teks yang tersisa mulai dari karakter ke-22 hingga akhir setiap baris sekaligus untuk mengekstrak bagian pesan log.

cut -c22- service.log

Mengubah Delimiter Output (–output-delimiter) dan Mengecualikan Field Tertentu (–complement)

Jalankan perintah cd ~/cut_demo untuk berpindah ke direktori tempat file latihan yang telah dibuat sebelumnya berada.

cd ~/cut_demo

Opsi --output-delimiter memungkinkan Anda menentukan string kustom untuk memisahkan field yang diekstrak alih-alih menggunakan delimiter default.
Ekstrak field ke-2 dan ke-3 dari file users.csv yang dipisahkan koma (,), lalu sisipkan spasi dan simbol pipe (|) di antara field untuk meningkatkan keterbacaan tampilan.

cut -d’,’ -f2,3 –output-delimiter=’ | ’ users.csv

Opsi --complement akan menampilkan kebalikan dari pilihan Anda, yaitu mengecualikan field yang ditentukan dan menampilkan semua kolom lainnya.
Gunakan bersama opsi -f3 untuk menghapus field ke-3 (informasi peran/role) saja dan mempertahankan seluruh field lainnya dalam output.

cut -d’,’ –complement -f3 users.csv

Penerapan Pipeline Praktis: Analisis Statistik IP Akses Menggabungkan cut, sort, dan uniq

Jalankan perintah cd ~/cut_demo untuk berpindah ke direktori khusus yang telah dibuat sebelumnya guna melanjutkan latihan.

cd ~/cut_demo

Buat file log sampel access.log yang berisi informasi IP pengakses dan permintaan HTTP yang dipisahkan oleh spasi untuk simulasi analisis log permintaan klien web server.

echo -e ‘192.168.1.10 - - [07/Oct/2026] “GET /index.html” 200\n192.168.1.15 - - [07/Oct/2026] “POST /login” 401\n192.168.1.10 - - [07/Oct/2026] “GET /dashboard” 200\n10.0.0.5 - - [07/Oct/2026] “GET /api/v1” 200\n192.168.1.10 - - [07/Oct/2026] “POST /logout” 200’ > access.log

Gunakan opsi -d' ' -f1 pada perintah cut untuk memisahkan kolom pertama berdasarkan spasi, yaitu alamat IP klien.
Selanjutnya, urutkan data dengan sort, hitung jumlah kemunculan duplikat dengan uniq -c, lalu sambungkan kembali ke sort -nr untuk menghasilkan peringkat statistik yang diurutkan secara menurun berdasarkan IP dengan frekuensi akses tertinggi.

cut -d’ ’ -f1 access.log | sort | uniq -c | sort -nr

Sejauh ini, kita telah mempelajari cara memanfaatkan perintah cut untuk mengekstrak kolom yang diinginkan secara rapi dari data log dan CSV.
Manfaatkan opsi delimiter dan field dengan tepat untuk membuat pemrosesan teks sehari-hari serta manipulasi data menjadi jauh lebih efisien.