Panduan Lengkap Perintah grep di Ubuntu

Ringkasan

Di lingkungan Linux, perintah grep adalah alat esensial saat menganalisis file teks berukuran besar atau log sistem. Dalam artikel ini, kita akan membahas teknik-teknik inti praktis untuk menjalankan grep di terminal Ubuntu guna menemukan string yang diinginkan secara cepat dan menginterpretasikan hasil output dengan tepat.

Pencarian String Dasar dan Opsi Mengabaikan Huruf Besar/Kecil (-i)

Jalankan perintah mkdir -p ~/grep_demo && cd ~/grep_demo untuk membuat ruang kerja terisolasi dan berpindah ke direktori tersebut untuk latihan perintah grep.

mkdir -p ~/grep_demo && cd ~/grep_demo

Jalankan perintah echo -e 'Ubuntu Linux Server\nubuntu desktop\nDebian GNU/Linux' > sample.txt untuk membuat file teks yang berisi contoh string untuk pengujian pencarian.

echo -e ‘Ubuntu Linux Server\nubuntu desktop\nDebian GNU/Linux’ > sample.txt

Perintah grep mencari pola atau string tertentu dalam file atau teks dan mencetak baris yang cocok.
Secara default, perintah ini membedakan huruf besar dan kecil (case-sensitive) secara ketat, sehingga hanya baris yang sama persis dengan Ubuntu yang akan ditemukan.
⚙️ [Opsi Utama]

-i : Mengabaikan perbedaan huruf besar/kecil (case-insensitive) dan mencari pola yang cocok.
-v : Membalikkan pencarian (invert match) untuk hanya menampilkan baris yang tidak cocok dengan pola yang ditentukan.
-n : Menampilkan nomor baris bersama dengan konten yang cocok.
-c : Menghitung dan hanya menampilkan jumlah total baris yang cocok.
-r : Menelusuri semua file di dalam subdirektori secara rekursif.
-l : Hanya mencantumkan nama file yang berisi konten yang cocok.
-E : Melakukan pencarian menggunakan Extended Regular Expressions (ERE).

grep ‘Ubuntu’ sample.txt

Jika menambahkan opsi -i, pencarian dilakukan tanpa membedakan huruf besar/kecil.
Oleh karena itu, baris yang memuat Ubuntu dengan huruf kapital maupun ubuntu dengan huruf kecil akan ditampilkan semuanya.

grep -i ‘ubuntu’ sample.txt

Menampilkan Nomor Baris (-n) dan Membalikkan Pencarian Baris yang Tidak Cocok (-v)

Jalankan perintah echo -e 'INFO: Service started\nERROR: Connection timeout\nINFO: Request handled\nERROR: Disk full' > app.log untuk membuat data log tiruan yang akan digunakan dalam latihan analisis log.

echo -e ‘INFO: Service started\nERROR: Connection timeout\nINFO: Request handled\nERROR: Disk full’ > app.log

Dengan menggunakan opsi -n, nomor baris dari baris yang cocok dengan pola pencarian akan ditampilkan bersamaan.
Nomor baris dan konten yang memuat string ERROR ditampilkan secara bersamaan, sehingga lokasi terjadinya masalah dapat diidentifikasi dengan cepat.

grep -n ‘ERROR’ app.log

Dengan menggunakan opsi -v, hanya baris yang tidak cocok dengan pola yang ditentukan yang akan ditampilkan.
Anda dapat mengecualikan entri INFO yang menunjukkan status normal dan hanya menyaring serta memeriksa baris yang berkaitan dengan kesalahan.

grep -v ‘INFO’ app.log

Pencarian Rekursif Subdirektori (-r) dan Hanya Menampilkan Nama File (-l)

Jalankan perintah mkdir -p ~/grep_demo/logs/archive untuk membuat struktur subdirektori arsip guna latihan pencarian rekursif.

mkdir -p ~/grep_demo/logs/archive

Jalankan perintah echo 'database error' > ~/grep_demo/logs/db.log untuk membuat file log error database yang akan digunakan untuk pengujian pencarian.

echo ‘database error’ > ~/grep_demo/logs/db.log

Jalankan perintah echo 'cache hit' > ~/grep_demo/logs/cache.log untuk membuat file log cache guna memeriksa log normal.

echo ‘cache hit’ > ~/grep_demo/logs/cache.log

Jalankan perintah echo 'fatal error occurred' > ~/grep_demo/logs/archive/old.log untuk membuat file log error masa lalu guna pengujian penelusuran subdirektori.

echo ‘fatal error occurred’ > ~/grep_demo/logs/archive/old.log

Jika opsi -r dan opsi -n digunakan bersamaan, pencarian dilakukan secara rekursif hingga ke subdirektori sambil menampilkan nomor baris yang cocok.
Jalur file, nomor baris, dan konten yang memuat string error dari file-file di dalam direktori logs maupun subdirektori archive akan ditampilkan seluruhnya.

grep -rn ’error’ ~/grep_demo/logs

Jika menambahkan opsi -l dan menjalankannya dalam bentuk -rl, perintah ini hanya akan menampilkan daftar path file yang berisi pola tersebut alih-alih menampilkan konten yang cocok.
Hal ini sangat berguna saat Anda ingin menyaring dan memeriksa dengan cepat hanya file-file tempat error terjadi di antara sekian banyak file log.

grep -rl ’error’ ~/grep_demo/logs

Memeriksa Konteks Sekitar Hasil Pencarian (-A, -B, -C) dan Sorotan Warna

Jalankan perintah echo -e 'Step 1: Init\nStep 2: Load Config\nStep 3: Critical Failure\nStep 4: Cleanup\nStep 5: Exit' > process.log untuk membuat file log contoh guna latihan memeriksa progres langkah proses dan konteks kesalahan.

echo -e ‘Step 1: Init\nStep 2: Load Config\nStep 3: Critical Failure\nStep 4: Cleanup\nStep 5: Exit’ > process.log

Dengan menggunakan opsi -B dan opsi -A, sejumlah baris tertentu sebelum (Before) dan sesudah (After) baris yang cocok akan ditampilkan bersamaan.
Dengan opsi --color=always, kata Critical Failure yang cocok disorot dengan warna, dan 1 baris sebelumnya serta 2 baris sesudahnya dapat diperiksa bersamaan untuk memahami alur operasi sebelum dan sesudah terjadinya kesalahan.

grep –color=always -B 1 -A 2 ‘Critical Failure’ process.log

Dengan menggunakan opsi -C, sejumlah baris yang sama di kedua arah sebelum dan sesudah (Context) baris yang cocok akan ditampilkan sekaligus.
1 baris tepat sebelum dan 1 baris tepat setelah baris yang memuat Critical Failure ditampilkan secara bersamaan, sehingga konteks utama dapat dipastikan secara lebih ringkas.

grep –color=always -C 1 ‘Critical Failure’ process.log

Sejauh ini, kita telah merangkum poin-poin penting dari perintah grep di lingkungan Ubuntu, mulai dari opsi pencarian dasar hingga penerapannya dalam analisis log praktis.
Cobalah terapkan pola-pola yang telah dipelajari hari ini secara aktif dalam pekerjaan terminal nyata untuk meningkatkan efisiensi kerja Anda ke tingkat berikutnya.