# grep

> Cari pola teks tertentu pada kumpulan berkas menggunakan kata pencarian ekspresi reguler (regex).
> Informasi lebih lanjut: <https://www.gnu.org/software/grep/manual/grep.html>.

- Cari suatu berkas untuk teks yang mengikuti pola pencarian tertentu:

`grep "{{pola_pencarian}}" {{jalan/menuju/berkas}}`

- Cari berkas untuk teks string tertentu secara spesifik (dengan menghentikan pencarian berbasis ekspresi reguler):

`grep {{[-F|--fixed-strings]}} "{{teks_spesifik}}" {{jalan/menuju/berkas}}`

- Cari seluruh berkas selain berkas format biner di dalam suatu direktori secara rekursif (termasuk berkas-berkas di dalam subdirektori) dengan menunjukkan nomor barisan di mana pola tersebut ditemukan:

`grep {{[-r|--recursive]}} {{[-n|--line-number]}} --binary-files {{without-match}} "{{pola_pencarian}}" {{jalan/menuju/direktori}}`

- Gunakan sintaks ekspresi reguler tingkat lanjut (mendukung `?`, `+`, `{}`, `()`, dan `|`), dalam mode case-insensitive (tanpa menghiraukan perbedaan antara huruf kapital dan kecil):

`grep {{[-E|--extended-regexp]}} {{[-i|--ignore-case]}} "{{pola_pencarian}}" {{jalan/menuju/berkas}}`

- Cetak 3 baris konteks isi berkas pada sekitar, sebelum, atau sesudah setiap hasil pencarian:

`grep --{{context|before-context|after-context}} 3 "{{pola_pencarian}}" {{jalan/menuju/berkas}}`

- Cetak nama berkas dan nomor baris di mana pola tersebut ditemukan dalam format teks berwarna:

`grep {{[-H|--with-filename]}} {{[-n|--line-number]}} --color=always "{{pola_pencarian}}" {{jalan/menuju/berkas}}`

- Cari untuk barisan teks yang memenuhi kriteria pada pola pencarian, dan hanya cetak bagian teks yang memenuhi pola:

`grep {{[-o|--only-matching]}} "{{pola_pencarian}}" {{jalan/menuju/berkas}}`

- Cari `stdin` untuk barisan teks yang tidak memenuhi kriteria pada pola pencarian:

`cat {{jalan/menuju/berkas}} | grep {{[-v|--invert-match]}} "{{pola_pencarian}}"`
