grep

Perintah egrep Linux dengan Contoh

Perintah egrep Linux dengan Contoh
Perintah egrep milik keluarga perintah grep yang digunakan untuk pencarian pola di Linux. Jika Anda telah menggunakan perintah grep, egrep berfungsi sama seperti grep -E (grep Extended regex'). Egrep memindai file tertentu, baris ke baris, dan mencetak baris yang berisi string pencarian/ekspresi reguler. Dalam artikel ini, kami akan menjelaskan 15 contoh berguna dari perintah egrep yang akan membantu pemula dan bahkan ahli untuk melakukan pencarian yang berarti di LinuxKami telah melakukan contoh ini pada sistem Debian 10 Buster tetapi mereka dapat dengan mudah direplikasi di sebagian besar distro Linux.

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 file

Contoh:

$egrep debian samplefile.txt

Dalam 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_pattern

Contoh:

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 file

Contoh:

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 file

Contoh:

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_pattern

Contoh:

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 file

Contoh:

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 -A nama file "search_string"

Contoh:

$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 -B nama file "search_string"

Contoh:

$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 -C nama file "search_string"

Contoh:

$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 file

Contoh:

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_.txt

Kami 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 file

Contoh:

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 file

Contoh:

$ 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 file

Contoh:

$ 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.

Cara Mengembangkan Game di Linux
Satu dekade yang lalu, tidak banyak pengguna Linux yang memprediksi bahwa sistem operasi favorit mereka suatu hari nanti akan menjadi platform game po...
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...