grep adalah global regular expression print. Perintah grep berfungsi untuk mencari teks dan menampilkan setiap baris string atau kata yang cocok dengan pattern atau pola yang ditentukan. Kita dapat mengetahui lebih banyak tentang perintah grep dan bereksperimen dengan melihat panduan manual grep dengan perintah man grep
Sintaks grep
grep [OPTIONS] PATTERN [FILE..]
Contoh penggunaan perintah grep
Berikut contoh cara menggunakan grep command untuk mencari kata di dalam file.
grep halo index.html
Hasilnya, perintah grep akan menampilkan setiap baris untuk string atau kata yang cocok dan memudahkan kita melihat outputnya dengan ditandainya string atau kata yang berwarna.
halo dunia
-i
atau --ignore-case
, untuk menampilkan semua kata baik yang memakai huruf kapital mapun huruf kecil
grep -i halo index.html
Hasilnya
Halo dunia halo dunia
Mencari kata dan menampilkan hasilnya dengan baris nomor dengan parameter-n
grep -n -i halo index.html
Hasilnya
1:Halo dunia 2:halo dunia 5:<center>Halo Dunia</center>
Mencari string di banyak file
grep "<center>" index.html index2.html index3.html
Hasilnya
index.html:<center>Halo Dunia</center> index2.html:<center>Halo Dunia</center> index3.html:<center>Halo Dunia</center>
Mencari teks di semua file di dalam direktori, hanya berlaku jika di dalam direktori tersebut tidak ada direktori lain/sub-direktori
grep "halo" /lokasi/direktori/*
Mencari teks di semua file di dalam direktori dan sub-direktori dengan option -r
artinya rekursif,
grep -inr "halo" /ini/lokasi/folder/
grep akan mencetak hasil yang cocok dengan teks yang diberikan (halo)
, beserta nomor baris teks tersebut ditemukan dan juga menampilkan nama/lokasi file jika teks ditemukan di lebih dari satu file.
Mencari teks yang cocok hanya pada file tertentu, misalnya hanya file .html
saja
grep -nri --include=\*.html '/lokasi/folder/' -e 'halo'
Atau multiple file
grep -nri --include=\*.{html,js} '/lokasi/folder/' -e 'halo'
Hanya menampilkan nama filenya saja, tambahkan opsi l
grep -ilr "halo" /ini/lokasi/folder
Kombinasi dengan perintah Linux lain dengan pipe, misalnya cat
, tail
atau hasil print dari perintah lain
tail index.html | grep halo
contoh lain
php -i | grep "cache"
Nah bagaimana? Perintah grep sangat powerful bukan?
Dengan grep tidak perlu membuka satu persatu ataupun semua berkas untuk mencari teks secara spesifik, jadi perkerjaan jadi lebih cepat dan mudah.