Di dunia Linux, ada satu filosofi terkenal: “Everything is a file.” Karena hampir semua konfigurasi dan log sistem berbentuk teks, kemampuan mengolah teks (text processing) adalah superpower bagi setiap Admin atau Developer.
Dalam artikel ini, kita akan bedah tiga alat paling ikonik yang sering disebut sebagai “The Big Three” dalam urusan olah teks.

1. grep: Si Pencari
grep (Global Regular Expression Print) adalah alat yang digunakan untuk mencari baris teks yang cocok dengan pola tertentu.
-
Kegunaan Utama: Mencari kata kunci di dalam file atau output command.
-
Contoh Perintah:
# Mencari kata "error" di dalam file log sistem grep "error" /var/log/syslog # Mencari secara case-insensitive (mengabaikan huruf besar/kecil) grep -i "warning" my_script.py # Melihat file konfigurasi (seperti nginx.conf atau ssh_config) tanpa terganggu baris komentar (#) atau baris kosong grep -vE '^\s*#|^\s*$' /etc/nginx/nginx.conf # Mencari Log error yang muncul secara *live* pada aplikasi sambil mengabaikan pesan "debug" yang tidak penting. tail -f /var/log/nginx/access.log | grep --line-buffered " 404 "
2. sed: Si Pengedit
sed (Stream Editor) digunakan untuk mengubah teks secara otomatis. Kamu tidak perlu membuka file, mengubahnya, lalu menyimpannya secara manual; sed melakukannya lewat terminal.
-
Kegunaan Utama: Melakukan find and replace secara massal.
-
Contoh Perintah:
# Mengganti kata "localhost" sed -i 's/DB_HOST=localhost/DB_HOST=127.0.0.1/g' .env # Mengedit file secara langsung (simpan perubahan) sed -i 's/lama/baru/g' catatan.txt
3. awk: Si Pengambil Sebagian
awk bukan sekadar tool, melainkan bahasa pemrograman lengkap yang sangat ahli dalam menangani teks berformat kolom atau tabel (seperti CSV atau output ls).
-
Kegunaan Utama: Ekstraksi data dari kolom tertentu dan melakukan perhitungan.
-
Contoh Perintah:
# Mengambil kolom pertama (username) dari file /etc/passwd awk -F ":" '{print $1}' /etc/passwd # Menghitung total penggunaan memori dari output 'free' free | awk '/Mem:/ {print $3/$2 * 100.0 "%"}' # Ekstraksi resource docker && NR>1 digunakan untuk melewati baris header. docker ps | awk 'NR>1 {print $1}' #Melihat 5 proses teratas yang memakan memory paling besar (dalam format %) ps aux | awk '{print $4, $11}' | sort -rn | head -5
Linux Pipeline (|)
Keajaiban Linux terjadi saat kamu menggabungkan ketiga alat ini menggunakan pipe (|). Output dari satu alat menjadi input untuk alat berikutnya.
Contoh Skenario: Kamu ingin mencari user yang sedang login, tapi hanya ingin menampilkan namanya dalam huruf kapital.
who | awk '{print $1}' | sed 's/.*/\U&/'
Ringkasan : grep, sed, & awk
| Tool | Fungsi | Kapan Digunakan? | Karakteristik |
|---|---|---|---|
| grep | Searching | Mencari baris yang mengandung pola tertentu. | Sangat cepat untuk filter data besar. |
| sed | Editing | Mengganti, menghapus, atau menyisipkan teks. | Bekerja pada aliran teks (stream). |
| awk | Processing | Ekstraksi data kolom dan manipulasi laporan. | Mendukung logika pemrograman & matematika. |