grep

Linux egrep Command dengan Contoh

Linux egrep Command dengan Contoh
Perintah egrep adalah milik keluarga perintah grep yang digunakan untuk mencari corak di Linux. Sekiranya anda telah menggunakan perintah grep, egrep berfungsi sama seperti grep -E (grep Extended regex ') tidak. Egrep mengimbas fail tertentu, baris ke baris, dan mencetak baris yang mengandungi rentetan carian / ungkapan biasa. Dalam artikel ini, kami akan menerangkan 15 contoh berguna dari perintah egrep yang akan membantu pemula dan juga pakar untuk melakukan carian yang bermakna di Linux Kami telah melakukan contoh-contoh ini pada sistem Debian 10 Buster tetapi ia dapat ditiru dengan mudah pada kebanyakan distro Linux.

Contoh 1: Mencari rentetan tertentu dalam fail

Ini adalah penggunaan perintah egrep yang paling biasa. Apa yang anda buat ialah anda menentukan rentetan yang ingin anda cari, dan nama fail yang ingin anda cari rentetan itu di. Hasilnya kemudian memaparkan keseluruhan baris yang mengandungi rentetan yang dicari.

Sintaks:

$ namarerep "search_string" nama fail

Contoh:

Contoh contoh debian $ egrep.txt

Dalam contoh ini, saya mencari perkataan "debian" dalam fail teks yang ditentukan. Anda dapat melihat bagaimana hasilnya memaparkan keseluruhan baris yang mengandungi kata "debian":

Contoh 2: Mencari rentetan tertentu dalam beberapa fail

Dengan perintah egrep, anda boleh mencari rentetan di antara beberapa fail yang berada di direktori yang sama. Anda hanya perlu sedikit lebih spesifik dalam menyediakan "pola" untuk fail yang dicari. Ini akan menjadi lebih jelas dengan contoh yang akan kami sampaikan.

Sintaks:

$ egrep "search_string" nama fail_pattern

Contoh:

Di sini, kita akan mencari perkataan "debian" di semua .fail txt dengan menentukan corak nama fail seperti berikut:

$ egrep "debian" *.txt

Perintah telah mencetak semua baris, bersama dengan nama fail yang mengandungi kata "debian" dari semua .fail txt dalam direktori semasa.

Contoh 3: Mencari rentetan secara berulang di seluruh direktori

Apabila anda ingin mencari rentetan dalam semua fail dari direktori dan subdirektorinya, anda boleh melakukannya dengan menggunakan bendera -r dengan perintah egrep.

Sintaks:

$ egrep -r "search_string" *

Contoh:

Dalam contoh ini, saya mencari kata "sampel" dalam fail dari keseluruhan direktori (Muat turun) semasa.

$ egrep -r "sampel" *

Hasilnya berisi semua baris, bersama dengan nama file, yang berisi kata "sampel" dari semua file dalam direktori Unduhan, dan sub direktori.

Contoh 4: Melakukan carian tanpa huruf besar-kecil

Dengan bendera -i, anda dapat menggunakan perintah egrep untuk mencetak hasil berdasarkan rentetan carian tanpa perlu bimbang tentang kasusnya.

Sintaks:

$ namarerep -i "search_string" nama fail

Contoh:

Di sini, saya mencari kata "debian" dan saya mahukan hasilnya memaparkan semua baris dari fail yang mengandungi perkataan "debian" atau "Debian, tanpa mengira kasusnya.

$ namarerep -i "search_string" nama fail

Anda dapat melihat bagaimana bendera -i membantu saya mengambil semua baris yang mengandungi rentetan carian melalui carian kes "tidak sensitif".

Contoh 5: Mencari rentetan sebagai kata penuh dan bukan sebagai sub-rentetan

Apabila anda biasanya mencari rentetan melalui egrep, ia mencetak semua perkataan yang mengandungi rentetan sebagai sub-rentetan. Sebagai contoh, mencari rentetan "on" akan mencetak semua kata yang mengandungi string "on" seperti "on", "only", "monitor", "clone", dll. Sekiranya anda mahukan hasilnya hanya menampilkan kata "on" sebagai kata penuh dan bukan sebagai sub-string, anda boleh menggunakan bendera -w dengan egrep.

Sintaks:

$ namarerep -w "search_string" nama fail

Contoh:

Di sini saya mencari rentetan "on" dalam contoh fail:

$ egrep -i "on" samplefile.txt

Anda dapat melihat pada output di atas, ia juga mengandungi kata "hanya". Namun, ini bukan yang saya mahukan kerana saya secara eksklusif mencari perkataan "on". Jadi, ini adalah arahan yang akan saya gunakan:

$ egrep -iw "on" samplefile.txt

Sekarang hasil carian saya hanya merangkumi baris yang mengandungi kata "on" secara keseluruhan.

Contoh 6: Mencetak hanya nama fail yang mengandungi rentetan

Kadang-kadang kita hanya mahu mengambil nama fail yang mengandungi rentetan tertentu, dan bukannya mencetak baris yang mengandunginya. Ini dapat dilakukan dengan menggunakan bendera -l (huruf kecil L) dengan perintah egrep.

Sintaks:

$ egrep -l "search_string" nama fail_pattern

Contoh:

Di sini saya mencari rentetan "sampel" di semua .fail txt dalam direktori semasa:

$ egrep -l sampel *.txt

Hasil carian hanya mencetak nama fail yang mengandungi rentetan yang ditentukan.

Contoh 7: Mencetak hanya rentetan carian dari fail

Daripada mencetak keseluruhan baris yang mengandungi rentetan carian, anda boleh menggunakan perintah egrep untuk mencetak rentetan itu sendiri. Rentetan itu akan dicetak berapa kali ia muncul dalam fail yang ditentukan.

Sintaks:

$ namarerep -o "search_string" nama fail

Contoh:

Dalam contoh ini, saya mencari perkataan "Ini" dalam fail saya.

$ egrep -o Sampel ini_.txt

Catatan: Penggunaan perintah ini sangat berguna ketika anda mencari rentetan berdasarkan corak ekspresi biasa. Kami akan menerangkan ungkapan biasa secara terperinci dalam salah satu contoh yang akan datang.

Contoh 8: Memaparkan bilangan baris sebelum, selepas, atau di sekitar rentetan carian

Kadang-kadang sangat penting untuk mengetahui konteks dalam fail di mana rentetan tertentu digunakan. The egrep sangat berguna dalam arti bahawa ia dapat digunakan untuk menampilkan garis yang mengandungi rentetan pencarian dan juga sejumlah garis tertentu sebelum, sesudah dan mengelilinginya.

Ini adalah contoh fail teks yang akan saya gunakan untuk menerangkan contoh yang akan datang:

N bilangan baris Selepas rentetan carian:

Menggunakan bendera A dengan cara berikut akan memaparkan garis yang mengandungi rentetan carian dan N bilangan baris setelahnya:

$ egrep -A nama fail "search_string"

Contoh:

$ egrep -A 2 "sample" samplefile.txt

N bilangan baris Sebelum rentetan carian:

Menggunakan bendera B dengan cara berikut akan memaparkan garis yang mengandungi rentetan carian dan N bilangan baris sebelum itu:

$ egrep -B nama fail "search_string"

Contoh:

$ egrep -B 2 "sample" samplefile.txt

N bilangan baris Sebelum rentetan carian:

Menggunakan bendera C dengan cara berikut akan memaparkan garis yang mengandungi rentetan carian, dan N bilangan baris sebelum dan sesudahnya:

$ egrep -C nama fail "search_string"

Contoh:

$ egrep -C 2 "sample" samplefile.txt

Contoh 9: Memadankan ungkapan biasa dalam fail

Perintah egrep menjadi lebih kuat semasa anda mencari ungkapan biasa dan bukannya rentetan carian padat dalam fail.

Sintaks:

$ namarerep "RegularExpressions" nama fail

Mari kami jelaskan bagaimana anda boleh menggunakan Ungkapan Biasa dalam carian egrep anda:

Pengendali pengulangan Gunakan
? Item sebelumnya sebelum ini ? adalah pilihan dan dipadankan maksimum satu kali

* Item sebelumnya sebelum * akan dipadankan sifar atau lebih banyak kali
+ Item sebelumnya sebelum + akan dipadankan satu atau beberapa kali
n Item sebelumnya dipadankan dengan tepat n beberapa kali.
n, Item sebelumnya dipadankan n atau lebih banyak kali
, m Item sebelumnya dipadankan dengan maksimum m kali
n, m Item sebelumnya dipadankan sekurang-kurangnya n kali tetapi tidak lebih daripada m kali

Contoh:

Dalam contoh berikut, garis yang mengandungi ungkapan berikut dipadankan:

bermula dengan "Gnome" dan berakhir pada "program"

Contoh 10: Menyerlahkan rentetan carian

Apabila anda menetapkan pemboleh ubah persekitaran GREP_OPTIONS seperti di bawah, anda mendapat output dengan rentetan / corak carian yang diserlahkan dalam hasil:

$ sudo eksport GREP_OPTIONS = '- color = auto' GREP_COLOR = '100; 8'

Anda kemudian boleh mencari rentetan dengan cara yang telah kami jelaskan dalam contoh artikel ini.

Contoh 11: Melakukan carian Balik dalam fail

Dengan carian terbalik, kami bermaksud bahawa perintah egrep mencetak semua yang ada dalam fail, kecuali baris yang mengandungi rentetan carian. Kami akan menggunakan contoh fail berikut untuk menjelaskan carian terbalik melalui egrep. Kami telah mencetak kandungan fail menggunakan arahan kucing:

Sintaks:

$ namarerep -v "search_string" nama fail

Contoh:

Dari contoh fail yang kami sebutkan, kami ingin menghilangkan baris yang mengandungi kata "dua" dalam output, oleh itu kami akan menggunakan perintah berikut:

$ egrep -v "dua" samplefile_.txt

Anda dapat melihat bagaimana outputnya mengandungi segala-galanya dari contoh fail kecuali baris kedua yang mengandungi rentetan carian "dua".

Contoh 12: Melakukan carian terbalik berdasarkan pelbagai kriteria / corak carian

Dengan bendera -v, anda juga dapat membuat perintah egrep untuk melakukan carian terbalik berdasarkan lebih dari satu rentetan / corak carian.

Kami akan menggunakan fail contoh yang sama seperti yang kami sebutkan dalam contoh 11 untuk menjelaskan senario ini.

Sintaks:

$ egrep -v -e "search_string" / "pattern" -e "search_string" / "corak"
… nama fail

Contoh:

Dari contoh fail yang kami sebutkan, kami ingin menghilangkan baris yang mengandungi kata "satu" dan "dua" dalam output, oleh itu kami akan menggunakan perintah berikut:

$ egrep -v -e "satu" -e "dua" samplefile_.txt

Kami telah memberikan dua perkataan untuk menghilangkan menggunakan bendera -e, oleh itu output akan muncul seperti berikut:

Contoh 13: Mencetak bilangan baris yang sepadan dengan rentetan carian

Daripada mencetak rentetan yang dicari dari fail atau garis yang ada di dalamnya, anda boleh menggunakan perintah egrep untuk menghitung dan mencetak jumlah baris yang sesuai dengan rentetan. Kiraan ini dapat diambil menggunakan bendera -c dengan perintah egrep.

Sintaks:

$ namarerep -c "search_string" nama fail

Contoh:

Dalam contoh ini, kami akan menggunakan bendera -c untuk menghitung jumlah baris yang mengandungi kata "Ini" dalam fail sampel kami:

$ namarerep -c "Ini" nama fail

Anda juga boleh menggunakan ciri carian terbalik di sini untuk menghitung dan mencetak bilangan baris yang tidak mengandungi rentetan carian: 

nama fail $ grep -v -c "search_string"

Contoh 14: Memaparkan nombor garis di mana rentetan dipadankan

Dengan bendera -n, anda boleh membuat perintah egrep untuk mencetak garis yang dipadankan bersama dengan nombor garis yang mengandungi rentetan carian.

Sintaks:

$ nama grep -n "search_string"

Contoh:

$ grep -n "Ini" samplefile_.txt

Anda dapat melihat bagaimana nombor baris dipaparkan terhadap hasil carian.

Contoh 15: Memaparkan kedudukan dalam fail yang sesuai dengan rentetan carian

Sekiranya anda ingin mengetahui kedudukan dalam fail di mana rentetan carian ada, anda boleh menggunakan bendera -b dengan perintah egrep.

nama fail $ grep -o -b "search_string"

Contoh:

$ grep -o -b "Ini" samplefile_.txt

Hasil carian mencetak byset ofte fail di mana kata carian ada.Ini adalah penggunaan terperinci dari perintah egrep. Dengan menggunakan kombinasi bendera yang dijelaskan dalam artikel ini, anda dapat melakukan pencarian yang lebih bermakna dan kompleks pada fail anda.

Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...
10 Permainan Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform dominan untuk permainan kerana peratusan besar permainan yang sedang berkembang hari ini untuk meny...