Pendahuluan
Grep adalah utilitas kuat yang tersedia secara default pada sistem berbasis UNIX. Namanya adalah singkatan dari Global Regular Expression Print.
Dengan menggunakan grep
perintah, Anda dapat menyesuaikan cara alat mencari pola atau beberapa pola dalam kasus ini. Anda dapat mengambil banyak string di file dan direktori yang berbeda. Alat ini mencetak semua baris yang berisi kata-kata yang Anda tentukan sebagai pola pencarian.
Dalam panduan ini, kami akan menunjukkan kepada Anda cara menggunakan grep untuk menelusuri beberapa kata atau pola string . Ikuti contoh dalam tutorial ini untuk mempelajari cara menggunakan grep dengan paling efektif.

Prasyarat
- Sistem mirip Linux atau UNIX
- Akses ke terminal atau baris perintah
- Pengguna dengan izin untuk mengakses file dan direktori yang diperlukan
Cara Menyerap Banyak Pola – Sintaks
Sintaks grep dasar saat mencari beberapa pola dalam file termasuk menggunakan grep
perintah diikuti dengan string dan nama file atau jalurnya.
Pola harus diapit menggunakan tanda kutip tunggal dan dipisahkan oleh simbol pipa. Gunakan garis miring terbalik sebelum pipa | untuk ekspresi reguler.
grep 'pattern1\|pattern2' fileName_or_filePath
Cara terbaru untuk menggunakan grep adalah dengan -E
pilihan. Opsi ini memperlakukan pola yang Anda gunakan sebagai ekspresi reguler yang diperluas .
grep -E 'pattern1|pattern2' fileName_or_filePath
Versi extended grep . yang tidak digunakan lagi adalah egrep .
egrep 'pattern1|pattern2' fileName_or_filePath
Opsi lainnya adalah menambahkan beberapa pola terpisah ke grep
perintah.
Untuk melakukannya, gunakan -e
tandai dan terus tambahkan jumlah pola pencarian yang diinginkan:
grep -e pattern1 -e pattern2 fileName_or_filePath
Apa Perbedaan Antara grep, grep -E, dan egrep?
egrep
perintah adalah versi lama dari grep diperpanjang. Fungsinya sama dengan grep -E
.
Perbedaan antara grep dan extended grep adalah extended grep menyertakan karakter meta yang ditambahkan kemudian.
Karakter ini adalah tanda kurung () , kurung kurawal {} , dan tanda tanya . Karakter pipa | juga diperlakukan sebagai karakter meta dalam grep yang diperluas.
Contoh Penggunaan Grep untuk Banyak String, Pola, dan Kata
Untuk memastikan Anda memahami cara menggunakan grep untuk mencari beberapa string, kami sarankan untuk membuat file dengan beberapa teks di mana kami akan mencoba beberapa kasus penggunaan yang berbeda.
Dalam kasus kami, kami menamai file sample.txt dan menambahkan beberapa paragraf teks. Kami menyimpan file di direktori test pengguna, yaitu di /home/test/sample.txt
Cara Menyerap Banyak Pola dalam Sebuah File
Dalam contoh di bawah ini, kita akan menggunakan grep alih-alih grep yang diperluas. Jangan lupa gunakan garis miring terbalik sebelum karakter pipa .
Karena grep tidak mendukung simbol pipa sebagai operator pergantian, Anda perlu menggunakan karakter escape (garis miring terbalik \) untuk memberi tahu grep
perintah untuk memperlakukan pipa secara berbeda.
Misalnya, untuk menelusuri kata ekstra dan nilai di sample.txt file gunakan perintah ini:
grep 'extra\|value' sample.txt
Outputnya menyoroti string yang ingin Anda ambil.

Jika file yang sama ada di direktori lain , Anda perlu menavigasi ke direktori itu atau menggunakan jalur lengkap file:
grep 'extra\|value' /home/test/Desktop/sample.txt
Untuk menelusuri lebih dari dua kata , terus tambahkan dengan cara yang sama.
Misalnya, untuk mencari tiga kata, tambahkan string karakter yang diinginkan diikuti dengan garis miring terbalik dan pipa:
grep 'extra\|value\|service' sample.txt

Mari kita lihat bagaimana tampilan perintah grep di atas saat menggunakan grep -E
, egrep
, dan grep -e
:
grep -E ‘extra|value|service’ sample.txt
egrep ‘extra|value|service’ sample.txt
grep -e extra -e value -e service sample.txt
Kami akan menggunakan grep
dalam contoh lebih lanjut, tetapi Anda dapat menggunakan sintaks mana pun yang Anda inginkan.
Menelusuri Beberapa Kecocokan Tepat dalam Sebuah File
Jika Anda ingin menemukan kecocokan yang tepat untuk beberapa pola, teruskan -w
tandai ke grep
perintah.
grep -w 'provide\|count' sample.txt
Misalnya, output di bawah ini menunjukkan perbedaan antara mencari tanpa -w
dan dengan itu:

Seperti yang Anda lihat, hasilnya berbeda. Perintah pertama menunjukkan semua baris dengan string yang Anda gunakan.
Perintah kedua menunjukkan cara mendapatkan pencocokan tepat untuk banyak string. Keluaran hanya mencetak baris yang berisi kata-kata persis.
Abaikan Huruf Besar Saat Menggunakan Grep untuk Beberapa String
Untuk menghindari kehilangan sesuatu saat Anda menelusuri beberapa pola, gunakan -i
tandai untuk mengabaikan huruf besar/kecil.
Misalnya, kita akan mengabaikan kasus dengan perintah ini:
grep -i 'phoenix\|linux' sample.txt

Output menunjukkan bagaimana kedua perintah berbeda. Jika Anda menyertakan -i
tandai dan abaikan huruf besar-kecil, hasil untuk beberapa kecocokan mencakup semua kecocokan.
Dengan cara ini, Anda mendapatkan hasil tambahan. Jika Anda juga menambahkan -w
tandai perintah ini, Anda dapat mempersempit hasilnya lebih jauh:

Menampilkan Hitungan Beberapa Kecocokan dalam Sebuah File
Katakanlah Anda sedang memantau file log, dan Anda ingin melihat apakah jumlah peringatan atau pesan bertambah. Anda tidak ingin melihat hasil mendetail ketika banyak kecocokan kembali.
Misalnya, untuk menampilkan hitungan beberapa kecocokan di bootstrap.log file, masukkan:
grep -c 'warning\|error' /var/log/bootstrap.log

Output mencetak jumlah kecocokan. Dengan cara ini, Anda dapat dengan cepat menentukan apakah jumlah peringatan dan kesalahan meningkat.
Gep untuk Beberapa Pola dalam Jenis File Tertentu
Anda dapat menggunakan grep untuk mencari beberapa string dalam jenis file tertentu saja. Jika Anda ingin memantau file log dalam satu direktori atau jika Anda ingin menelusuri semua file teks, gunakan tanda bintang dan ekstensi file, bukan nama file.
Misalnya, untuk mencari peringatan dan kesalahan melalui semua .log file di /var/log/ direktori, masukkan:
grep 'warning\|error' /var/log/*.log
Untuk mendemonstrasikan cara kerja opsi ini dengan lebih baik, kami hanya akan menampilkan jumlah kecocokan.

Outputnya menunjukkan semua file yang grep mencari string yang Anda gunakan.
Mencari Secara Rekursif untuk Beberapa Pola dalam Sebuah File
grep
perintah hanya mencari di direktori saat ini saat Anda menggunakan wildcard asterisk.
Untuk menyertakan semua subdirektori saat mencari beberapa pola, tambahkan -R
operator ke grep:
grep -R 'warning\|error' /var/log/*.log
Output akan mengembalikan hasil dari semua file grep
perintah ditemukan di /var/log/ direktori dan subdirektorinya.