Contoh 1: Mencari string tertentu dalam file
Ini adalah penggunaan paling umum dari perintah egrep. Apa yang Anda lakukan adalah menentukan string yang ingin Anda cari, dan nama file yang ingin Anda cari stringnya. Hasilnya kemudian menampilkan seluruh baris yang berisi string yang dicari.
Sintaksis:
$ egrep "search_string" nama fileContoh:
$egrep debian samplefile.txtDalam contoh ini, saya mencari kata "debian" di file teks yang ditentukan. Anda dapat melihat bagaimana hasilnya menampilkan seluruh baris yang mengandung kata “debian”:
Contoh 2: Mencari string tertentu dalam banyak file
Dengan perintah egrep, Anda dapat mencari string di antara beberapa file yang berada di direktori yang sama. Anda hanya perlu sedikit lebih spesifik dalam memberikan "pola" untuk file yang dicari. Ini akan menjadi lebih jelas dengan contoh yang akan kami sajikan.
Sintaksis:
$ egrep "search_string" nama file_patternContoh:
Di sini, kita akan mencari kata “debian” di semua .txt dengan menentukan pola nama file sebagai berikut:
$ egrep “debian” *.txt
Perintah telah mencetak semua baris, bersama dengan nama file yang mengandung kata "debian" dari semua .file txt di direktori saat ini.
Contoh 3: Pencarian string secara rekursif di seluruh direktori
Saat Anda ingin mencari string di semua file dari direktori dan sub-direktori, Anda dapat melakukannya dengan menggunakan flag -r dengan perintah egrep.
Sintaksis:
$egrep -r "search_string" *Contoh:
Dalam contoh ini, saya mencari kata "sampel" di file dari seluruh direktori (Unduhan) saat ini.
$egrep -r "contoh" *
Hasilnya berisi semua baris, bersama dengan nama file, yang berisi kata "sampel" dari semua file di direktori Unduhan, dan sub direktorinya.
Contoh 4: Melakukan penelusuran peka huruf besar/kecil
Dengan flag -i, Anda dapat menggunakan perintah egrep untuk mencetak hasil berdasarkan string pencarian tanpa harus mengkhawatirkan kasusnya.
Sintaksis:
$ egrep -i "search_string" nama fileContoh:
Di sini, saya mencari kata "debian" dan saya ingin hasilnya menampilkan semua baris dari file yang mengandung kata "debian" atau "Debian, terlepas dari kasusnya.
$ egrep -i "search_string" nama file
Anda dapat melihat bagaimana flag -i membantu saya mengambil semua baris yang berisi string pencarian melalui pencarian case "tidak sensitif".
Contoh 5: Mencari string sebagai kata lengkap dan bukan sebagai sub-string
Saat Anda biasanya mencari string melalui egrep, ia mencetak semua kata yang berisi string sebagai sub-string. Misalnya, mencari string “on” akan mencetak semua kata yang mengandung string “on” seperti “on”, “only”, “monitor”, “clone”, dll. Jika Anda ingin hasilnya hanya menampilkan kata "on" sebagai kata lengkap dan bukan sebagai sub-string, Anda dapat menggunakan flag -w dengan egrep.
Sintaksis:
$ egrep -w "search_string" nama fileContoh:
Di sini saya mencari string "on" dalam file sampel:
$egrep -i "pada" samplefile.txt
Anda dapat melihat pada output di atas, yang mengandung kata "hanya" juga. Namun, ini bukan yang saya inginkan karena saya secara eksklusif mencari kata "on". Jadi, ini adalah perintah yang akan saya gunakan sebagai gantinya:
$egrep -iw "on" samplefile.txt
Sekarang hasil pencarian saya hanya menyertakan baris yang mengandung kata "on" sebagai keseluruhan kata.
Contoh 6: Mencetak hanya nama file yang berisi string
Terkadang kami hanya ingin mengambil nama file yang berisi string tertentu, daripada mencetak baris yang berisi string tersebut. Ini dapat dilakukan dengan menggunakan flag -l (huruf kecil L) dengan perintah egrep.
Sintaksis:
$ egrep -l "search_string" nama file_patternContoh:
Di sini saya mencari string "sampel" di semua .File .txt di direktori saat ini:
$egrep -l sampel *.txt
Hasil pencarian hanya mencetak nama file yang berisi string yang ditentukan.
Contoh 7: Mencetak hanya string pencarian dari file
Alih-alih mencetak seluruh baris yang berisi string pencarian, Anda dapat menggunakan perintah egrep untuk mencetak string itu sendiri. String akan dicetak berapa kali muncul di file yang ditentukan.
Sintaksis:
$ egrep -o "search_string" nama fileContoh:
Dalam contoh ini, saya mencari kata "Ini" di file saya.
$ egrep -o Samplefile_ ini.txt
Catatan: Penggunaan perintah ini berguna saat Anda mencari string berdasarkan pola ekspresi reguler. Kami akan menjelaskan ekspresi reguler secara rinci di salah satu contoh yang akan datang.
Contoh 8: Menampilkan n jumlah baris sebelum, sesudah, atau di sekitar string pencarian
Terkadang sangat penting untuk mengetahui konteks dalam file di mana string tertentu digunakan. egrep sangat berguna dalam arti dapat digunakan untuk menampilkan baris yang berisi string pencarian dan juga sejumlah baris tertentu sebelum, sesudah dan di sekitarnya.
Ini adalah contoh file teks yang akan saya gunakan untuk menjelaskan contoh yang akan datang:
N jumlah baris Setelah string pencarian:
Menggunakan flag A dengan cara berikut akan menampilkan baris yang berisi string pencarian dan N jumlah baris setelahnya:
$ egrep -AContoh:
$egrep -A 2 "sampel" file sampel sample.txt
N jumlah baris Sebelum string pencarian:
Menggunakan flag B dengan cara berikut akan menampilkan baris yang berisi string pencarian dan N jumlah baris sebelumnya:
$ egrep -BContoh:
$egrep -B 2 "sampel" samplefile.txt
N jumlah baris Sebelum string pencarian:
Menggunakan flag C dengan cara berikut akan menampilkan baris yang berisi string pencarian, dan N jumlah baris sebelum dan sesudahnya:
$ egrep -CContoh:
$egrep -C 2 "sampel" samplefile.txt
Contoh 9: Mencocokkan ekspresi reguler dalam file
Perintah egrep menjadi lebih kuat saat Anda mencari ekspresi reguler alih-alih string pencarian padat dalam file.
Sintaksis:
$ egrep nama file "RegularExpressions"Biarkan kami menjelaskan bagaimana Anda dapat menggunakan Ekspresi Reguler dalam pencarian egrep Anda:
Operator pengulangan | Menggunakan |
? | Item sebelumnya sebelum ? adalah opsional dan dicocokkan maksimum satu kali
|
* | Item sebelumnya sebelum * akan dicocokkan nol kali atau lebih |
+ | Item sebelumnya sebelum + akan dicocokkan satu kali atau lebih |
n | Item sebelumnya sama persis sebanyak n kali. |
n, | Item sebelumnya cocok n kali atau lebih |
,m | Item sebelumnya dicocokkan maksimum m kali |
n,m | Item sebelumnya dicocokkan setidaknya n kali tetapi tidak lebih dari m kali |
Contoh:
Dalam contoh berikut, baris yang berisi ekspresi berikut cocok:
dimulai dengan "Gnome" dan diakhiri dengan "program"
Contoh 10: Menyoroti string pencarian
Saat Anda mengatur variabel lingkungan GREP_OPTIONS seperti di bawah ini, Anda mendapatkan output dengan string/pola pencarian yang disorot dalam hasil:
$ sudo ekspor GREP_OPTIONS='--color=auto' GREP_COLOR='100;8'Anda kemudian dapat mencari string dengan cara apa pun yang telah kami jelaskan dalam contoh artikel ini.
Contoh 11: Melakukan pencarian Invert dalam file
Dengan pencarian terbalik, maksud kami perintah egrep mencetak semua yang ada di file, kecuali baris yang berisi string pencarian. Kami akan menggunakan file contoh berikut untuk menjelaskan pencarian terbalik melalui egrep. Kami telah mencetak konten file menggunakan perintah cat:
Sintaksis:
$ egrep -v "search_string" nama fileContoh:
Dari file contoh yang kami sebutkan, kami ingin menghilangkan baris yang mengandung kata "dua" di output, oleh karena itu kami akan menggunakan perintah berikut:
$egrep -v "dua" samplefile_.txt
Anda dapat melihat bagaimana output berisi segala sesuatu dari file sampel kecuali untuk baris kedua yang berisi string pencarian "dua".
Contoh 12: Melakukan penelusuran terbalik berdasarkan beberapa kriteria/pola penelusuran
Dengan flag -v, Anda juga dapat membuat perintah egrep untuk melakukan pencarian terbalik berdasarkan lebih dari satu string/pola pencarian.
Kami akan menggunakan file sampel yang sama yang kami sebutkan dalam contoh 11 untuk menjelaskan skenario ini.
Sintaksis:
$ egrep -v -e "string_pencarian"/”pola” -e "string_pencarian"/”pola”… nama file
Contoh:
Dari file contoh yang kami sebutkan, kami ingin menghilangkan baris yang mengandung kata "satu" dan "dua" di output, oleh karena itu kami akan menggunakan perintah berikut:
$egrep -v -e "satu" -e "dua" samplefile_.txtKami telah menyediakan dua kata untuk dihilangkan menggunakan flag -e, oleh karena itu akan muncul output sebagai berikut:
Contoh 13: Mencetak jumlah baris yang cocok dengan string pencarian
Alih-alih mencetak string yang dicari dari file atau baris yang memuatnya, Anda dapat menggunakan perintah egrep untuk menghitung dan mencetak jumlah baris yang cocok dengan string. Hitungan ini dapat diambil menggunakan flag -c dengan perintah egrep.
Sintaksis:
$ egrep -c "search_string" nama fileContoh:
Dalam contoh ini, kami akan menggunakan tanda -c untuk menghitung jumlah baris yang berisi kata "Ini" dalam file contoh kami:
$ egrep -c "Ini" nama file
Anda juga dapat menggunakan fitur pencarian terbalik di sini untuk menghitung dan mencetak jumlah baris yang tidak mengandung string pencarian:
$ grep -v -c "search_string" nama file
Contoh 14: Menampilkan nomor baris tempat string dicocokkan
Dengan flag -n, Anda dapat membuat perintah egrep untuk mencetak baris yang cocok beserta nomor baris yang berisi string pencarian.
Sintaksis:
$ grep -n "search_string" nama fileContoh:
$ grep -n "Ini" samplefile_.txt
Anda dapat melihat bagaimana nomor baris ditampilkan terhadap hasil pencarian.
Contoh 15: Menampilkan posisi dalam file tempat string pencarian cocok
Jika Anda ingin mengetahui posisi di file tempat string pencarian ada, Anda dapat menggunakan flag -b dengan perintah egrep.
$ grep -o -b "search_string" nama fileContoh:
$ grep -o -b "Ini" samplefile_.txt
Hasil pencarian mencetak offset byte dari file tempat kata pencarian ada.Ini adalah penggunaan rinci dari perintah egrep. Dengan menggunakan kombinasi tanda yang dijelaskan dalam artikel ini, Anda dapat melakukan pencarian yang lebih bermakna dan kompleks pada file Anda.