Cara menggunakan grep command di Linux, lengkap dengan contohnya

Perintah grep (Global Regular Expression Print) bekerja dengan mencari baris yang mengandung pola tertentu dalam sebuah file. Perintah ini berfungsi untuk mengecek keberadaan suatu entri dengan cepat, terutama dalam file yang panjang seperti file log.

Anda bisa menambahkan berbagai opsi guna memodifikasi perilaku perintah ini untuk tugas tertentu, seperti pencarian terbalik dan pencarian beberapa kata kunci. Karena fleksibilitasnya, grep menjadi salah satu tool penting untuk mengelola VPS Linux.

Artikel ini akan menjelaskan cara menggunakan perintah grep di Linux, termasuk syntax dan opsi-opsinya. Anda juga akan mempelajari contoh implementasinya untuk mengelola file dalam sistem.

Syntax perintah grep

Syntax perintah grep dasar adalah:

grep [options] pola [FILE] 

Berikut penjelasan setiap elemen tersebut:

  • grep – nama utilitas.
  • opsi – argumen yang memodifikasi perilaku perintah grep.
  • pola – kata kunci yang ingin Anda cari.
  • file – item yang kontennya ingin Anda cari. 

Pada bagian selanjutnya, kita akan mempelajari opsi yang paling umum digunakan dan contoh penggunaannya di dunia nyata.

Anda bisa membaca panduan perintah grep untuk mempelajari opsi selengkapnya. Atau, lihat panduan utilitas ini di command-line interface Anda dengan memasukkan:

grep --help

Perlu diingat bahwa Anda harus memiliki hak akses “read” pada file yang ingin diperiksa dengan grep. Baca tutorial kami tentang cara mengganti izin (permission) di Linux.

Menggunakan perintah grep Linux

Pada bagian ini, kami akan membahas penggunaan umum utilitas grep. Apabila Anda menggunakan VPS, jalankan perintah melalui SSH client seperti PuTTY. Untuk desktop, buka Terminal Linux dengan menekan Ctrl + Alt + T.

Pencarian dasar

Penggunaan grep yang paling dasar adalah untuk memfilter file teks guna menampilkan baris yang mengandung kata tertentu. Untuk melakukannya, jalankan perintah ini tanpa opsi, seperti syntax berikut:

grep keyword file

Anda juga bisa mencantumkan beberapa nama file, seperti:

grep pola file1 file2 file3

Apabila Anda ingin menggunakan frasa sebagai string pencarian, tambahkan tanda petik pada pola tersebut. Contohnya, perintah berikut akan menemukan baris yang bertuliskan Linux distro dalam file sampel hostinger.txt:

grep "Linux distro" hostinger.txt 

Perhatikan bahwa syntax ini hanya berfungsi kalau file input berada di dalam direktori Anda saat ini. Apabila file berada di lokasi lain, tentukan path lengkapnya seperti ini:

grep pola /path/ke/file/Anda.txt

Penting! Karena perintah Linux seperti grep peka terhadap besar kecilnya huruf, perhatikan penggunaan huruf besar dalam pola pencarian dan nama file Anda.

Pencarian rekursif

Anda bisa melakukan pencarian rekursif pada semua file dan subdirektori dalam folder dengan menggunakan opsi -r. Berikut syntaxnya:

grep -r keyword path/ke/sebuah/folder

Sebagai contoh, kita punya direktori tutorial/content/linux yang berisi dua folder, yaitu commands dan utilities. Untuk mencari kata VPS pada semua file dalam folder-folder ini, cukup jalankan grep pada path utamanya:

grep -r VPS tutorial/content/linux

Perintah grep akan menampilkan daftar baris yang sesuai dari semua file dan folder dalam direktori tutorial/content/linux.

Menampilkan entri di dekat baris yang sesuai

Grep bisa digunakan untuk menampilkan baris setelah dan sebelum entri yang Anda cari untuk memberikan konteks yang lebih lengkap. Untuk melakukannya, tambahkan opsi ini diikuti dengan jumlah baris berdekatan yang ingin Anda tampilkan:

  • A – menampilkan baris setelah entri yang dipilih.
  • B – menghasilkan baris sebelum entri yang dipilih.
  • C – menampilkan baris setelah dan sebelum entri.

Sebagai contoh, syntax grep berikut ini akan menampilkan entri setelah baris yang cocok:

grep -A1 pola file

Pencarian yang tidak peka huruf besar dan kecil

Secara default, grep akan memperlakukan pola dengan huruf besar-kecil yang berbeda sebagai string yang berbeda. Misalnya, Anda tidak bisa mencari Grep dan GREP menggunakan kata kunci grep. Anda bisa menonaktifkan perilaku ini dengan menambahkan opsi -i:

grep -i keyword file

Apabila ingin mencari kata vps dan mengabaikan perbedaan huruf besar-kecil, jalankan perintah berikut:

grep -i vps hostinger.txt

Pencarian terbalik

Tambahkan opsi -v pada perintah grep seperti syntax berikut ini untuk mengaktifkan pencarian terbalik, yaitu menampilkan baris yang justru tidak sesuai:

grep -v keyword file

Contohnya, perintah ini hanya menampilkan baris yang tidak mengandung kata VPS dalam file hostinger.txt:

grep -v VPS hostinger.txt

Menampilkan nomor baris

Apabila Anda sedang menangani file besar seperti log, outputnya mungkin bisa sangat panjang. Akhirnya, pengecekan lokasi pola pun menjadi sulit. Untuk mempermudah tugas ini, Anda bisa menampilkan nomor baris dengan opsi -n seperti berikut:

grep -n keyword file

Sebagai contoh, perintah ini akan menampilkan baris dalam file auth.log yang berisi kata unknown user beserta nomor barisnya:

grep -n "unknown user" auth.log

Baris yang dimulai dengan angka satu berarti adalah entri pertama dalam file auth.log, dan seterusnya.

Tips berguna

Anda bisa menggabungkan beberapa opsi grep untuk meningkatkan hasil pencarian. Misalnya, jalankan grep -nv pola file untuk menampilkan nomor baris dari entri yang tidak mengandung pola tertentu.

Menggunakan grep dengan ekspresi reguler

Ekspresi reguler, atau regex, adalah deretan karakter yang mendefinisikan pola pencarian. Regex berguna untuk menemukan kueri yang sangat spesifik tanpa harus mencantumkan kata kunci satu per satu. Berikut adalah beberapa simbol regex dan penandanya:

  • . – cocok dengan satu karakter apa pun.
  • * – mewakili nol atau lebih dari karakter sebelumnya.
  • + – menandakan satu atau beberapa karakter sebelumnya.
  • ? – menunjukkan nol atau salah satu karakter sebelumnya.
  • ^ – mengindikasikan dimulainya pola regex.
  • $ – mewakili akhir dari pola regex.
  • () – pola kelompok.

Ekspresi reguler ini berperilaku berbeda, baik saat Anda menggunakan ERE (extended regular expression) dengan opsi -E maupun BRE (basic regular expression) default. Untuk informasi lebih lanjut, silakan baca tentang perbedaan BRE dan ERE.

Sebagai contoh, kalau Anda ingin mencari pola seperti abc dan acc, jalankan perintah berikut. Simbol titik (.) akan mencocokkan karakter apa pun:

grep -E 'a.c' file

Simbol ^ dan $ bisa Anda gunakan untuk mencari baris yang dimulai atau diakhiri dengan pola tertentu. Perhatikan contoh perintah grep ini:

grep -E '^pola' file

Perintah di atas akan mencocokkan baris yang dimulai dengan kata pola, seperti pola adalah sebuah string teks. Sementara itu, contoh berikut ini akan mencari entri yang diakhiri dengan kata pola:

grep -E 'pola$' file

Anda juga bisa menggabungkan beberapa simbol regex untuk memperbaiki hasil pencarian guna memperoleh hasil yang lebih spesifik. Sebagai contoh, perintah ini akan mencari baris yang berisi kata apa pun yang dimulai dengan H dan diakhiri dengan R:

grep '^H.*R$' 1.txt

Mencari beberapa pola

Anda bisa mencari beberapa kata kunci dengan menggunakan satu perintah grep. Cara termudah untuk melakukannya adalah dengan mencantumkan kata kunci di dalam tanda kutip () yang dipisahkan oleh garis miring (\) dan pipa (|). Berikut tampilan syntaxnya:

grep 'pola1\|pola2\|pola3' file

Pada perintah di atas, grep menggunakan BRE karena kita tidak menambahkan opsi apa pun. Untuk mencegahnya menafsirkan pipa sebagai pola yang diminta, kita melewatkannya dengan menggunakan garis miring.

Anda juga bisa mencari beberapa pola tanpa garis miring dengan menambahkan opsi -E untuk mengaktifkan fungsi khusus pipa:

grep -E 'pola1|pola2|pola3' file

Sebagai pengganti opsi -E, Anda bisa melakukannya dengan menggunakan perintah egrep:

egrep 'pola1|pola2|pola3' file

Apabila Anda ingin menentukan pola secara terpisah, gunakan opsi -e untuk setiap kueri pencarian. Berikut adalah syntax perintahnya:

grep -e pola1 -e pola2 -e pola3 file

Semua variasi perintah grep ini memberikan hasil yang sama. Jadi, silakan pilih salah satu berdasarkan preferensi Anda.

Menghitung kecocokan

Beberapa tugas administrasi sistem mungkin mengharuskan Anda memeriksa sejumlah baris dalam file yang memiliki pola yang cocok. Sebagai contoh, langkah ini berguna untuk menghitung upaya masuk dari alamat IP tertentu dalam file log.

Untuk memeriksa berapa banyak baris yang mengandung pola, gunakan opsi -c atau -count seperti ini:

grep -c pola file

Namun, opsi -c menghitung baris yang cocok, bukan jumlah kemunculan pola. Apabila Anda ingin memeriksanya, gunakan opsi -o dan teruskan pada perintah wc seperti ini:

grep -o pola file | wc -l

Hasilnya, opsi -o hanya menampilkan kemunculan pola yang dihitung oleh perintah wc, bukan seluruh baris. Kita akan mempelajari penggunaan pipa (|) pada bagian selanjutnya.

Perhatikan bahwa perintah ini juga menghitung varian lain kata kunci. Misalnya, kalau Anda menggunakan pola connect, grep akan turut mengecek kata seperti reconnect, connected, connecting, dan disconnected.

Apabila Anda ingin menghitung kata yang sama persis, tambahkan batasan kata di awal dan akhir kata kunci Anda. Berikut ini contohnya:

grep -o '\bpola\b' file 

Menggabungkan grep dengan perintah lain

Selain file dan direktori, Anda bisa memfilter data input dari perintah lain menggunakan grep. Untuk melakukannya, tambahkan penggabungan dengan pipa (|) seperti berikut:

perintah | grep pola

Dalam cuplikan di atas, pipa mengalihkan output dari perintah pertama ke grep, memfilter hasilnya berdasarkan kata kunci. Berikut adalah contoh penggunaannya:

ls | grep '\.txt$'

Perintah ls mencantumkan isi direktori Anda saat ini. Kemudian, perintah grep memfilter outputnya, menampilkan file TXT di dalam folder tersebut. Berikut adalah contoh lainnya:

ps aux | grep "process_name" 

Perintah ps aux mencantumkan semua proses yang sedang berjalan dalam sistem Anda. Kemudian, utilitas grep mencari proses tertentu dari daftar tersebut berdasarkan namanya.

Tergantung pada tugas yang perlu dilakukan, Anda bisa menggabungkan grep dengan tool lain. Pengguna VPS hosting Hostinger yang tidak yakin harus menggunakan utilitas yang mana bisa bertanya pada asisten AI kami, Kodee, untuk membantu menjelaskan dan menghasilkan perintahnya lengkap.

Contohnya, tanyakan pada Kodee, “Saya perlu mencantumkan semua layanan di VPS Ubuntu saya dan menggunakan utilitas grep untuk memfilter outputnya, hanya menampilkan yang terkait dengan NGINX. Hasilkan perintah lengkapnya.”

Kodee kemudian akan menuliskan perintah yang sesuai untuk sistem dan kebutuhan Anda.

Mengalihkan output

Administrator sistem mungkin perlu menyimpan hasil perintah grep untuk diproses lebih lanjut atau sebagai arsip. Cara mudah untuk melakukannya adalah dengan mengubah output menjadi file teks menggunakan simbol lebih besar dari (>). Berikut syntaxnya:

grep pola file > file_target.txt

Apabila file target tidak ada, perintah grep akan secara otomatis membuatnya di direktori kerja Anda saat ini.

Untuk memeriksa apakah grep menyimpan output dengan benar, tampilkan konten file target menggunakan perintah cat seperti ini:

cat file_target.txt

Ingin mempelajari perintah Linux lainnya?

Lihat tutorial perintah Linux kami untuk mempelajari lebih lanjut tentang utilitas manajemen server yang paling umum digunakan.

Kesimpulan

Perintah grep memungkinkan Anda menggunakan pola untuk menemukan baris dalam sebuah file. Syntax dasarnya adalah grep pola file, tapi Anda bisa menambahkan berbagai opsi untuk memodifikasi pencarian sesuai kebutuhan.

Sebagai contoh, tambahkan opsi -r untuk mencari pola secara rekursif pada file dan subdirektori dalam sebuah folder. Meskipun perintah ini peka terhadap huruf besar-kecil secara default, Anda bisa menonaktifkan perilaku ini menggunakan flag -i untuk menemukan pola yang cocok tanpa memperhatikan besar kecilnya huruf.

Anda juga bisa menampilkan baris yang tidak cocok menggunakan opsi -v dan menambahkan opsi -n untuk menampilkan nomor urutnya. Untuk pola pencarian yang lebih kompleks, Anda bisa menggunakan simbol ekspresi reguler.

Dalam situasi sebenarnya, Anda mungkin perlu menggabungkan grep dengan perintah lain dan mengekspor hasil pencarian menjadi file sebagai backup. Karena utilitas ini memiliki banyak sekali variasi, manfaatkan Kodee untuk menulis perintah lengkapnya.

Tanya jawab (FAQ) cara menggunakan perintah grep

Apa fungsi perintah grep?

Perintah grep biasanya digunakan untuk mencari baris yang mengandung kata kunci tertentu dalam sebuah file. Perintah ini juga berguna untuk memfilter output utilitas lain agar hanya menampilkan yang memiliki pola tertentu. Lakukan hal ini dengan mengarahkan (piping) perintah tersebut ke grep.

Apa opsi yang paling umum digunakan dengan grep?

Salah satu opsi yang paling umum dalam grep termasuk -i, yang mengabaikan kepekaan terhadap huruf besar/kecil dalam kueri pencarian. Opsi populer lainnya adalah -r, yang bisa Anda gunakan untuk mencari semua file dan folder di dalam direktori. 

Bisakah grep mencari pola dalam beberapa file atau folder?

Ya, Anda bisa mencari kata kunci dalam beberapa file atau direktori dengan mencantumkannya. Masukkan grep pola file1.txt file2.txt untuk menemukan pola dalam file. Untuk memeriksa kata kunci dari beberapa direktori, gunakan opsi -r diikuti path utamanya.

Bagaimana cara mencari baris yang tidak sesuai pola tertentu?

Untuk menampilkan baris yang tidak sesuai dengan pola tertentu, tambahkan opsi -v pada perintah grep Anda. Langkah ini akan mengaktifkan fungsi pencarian terbalik, menghasilkan semua entri yang tidak mengandung kata kunci dalam sebuah file.

Author
Penulis

Faradilla A.

Faradilla, or Ninda, is a Content Marketing Specialist with a passion for technology, a curiosity for digital marketing trends, and a love for languages. When she's not writing Hostinger tutorials, you can find her learning about life sciences. Follow her on LinkedIn.