Contoh Perintah 20 Linux Egrep

Contoh Perintah 20 Linux Egrep

Ringkas: Dalam panduan ini, kita akan membincangkan beberapa contoh praktikal perintah Egrep. Setelah mengikuti panduan ini, pengguna akan dapat melakukan pencarian teks dengan lebih cekap di Linux.

Adakah anda pernah kecewa kerana anda tidak dapat mencari maklumat yang diperlukan dalam log? Mengekstrak maklumat yang diperlukan dari set data yang besar adalah tugas yang kompleks dan memakan masa.

Perkara menjadi sangat mencabar jika sistem operasi tidak menyediakan alat yang betul dan di sini datang Linux untuk menyelamatkan anda. Linux menyediakan pelbagai utiliti penapis teks seperti AWK, Sed, potong, dan lain-lain.

Walau bagaimanapun, Egrep adalah salah satu utiliti yang paling kuat dan biasa digunakan untuk pemprosesan teks di Linux, dan kami akan membincangkan beberapa contoh Egrep perintah.

The Egrep Perintah di Linux diiktiraf oleh keluarga perintah grep, yang digunakan untuk mencari dan memadankan corak tertentu dalam fail. Ia berfungsi sama seperti grep -e (Grep Extended Regex), tetapi kebanyakannya mencari fail tertentu atau bahkan baris ke baris atau mencetak garis dalam fail yang diberikan.

Sintaks Egrep Perintah adalah seperti berikut:

$ egrep [option] Corak [Fail] 

Mari buat fail teks sampel dengan kandungan berikut untuk menggunakan contoh:

Sampel $ Cat.txt 
Contoh fail teks

Di sini, kita dapat melihat bahawa fail teks sudah siap. Sekarang mari kita bincangkan beberapa contoh biasa yang boleh digunakan setiap hari.

1. Cara mencari corak dalam satu fail

Mari kita mulakan dengan contoh pencocokan corak yang mudah, di mana kita boleh menggunakan arahan di bawah untuk mencari rentetan profesional didalam Contoh.txt Fail:

Sampel Profesional $ Egrep.txt 
Cari rentetan dalam fail

Di sini, kita dapat melihat bahawa arahan mencetak garis yang mengandungi corak yang ditentukan.

2. Cara menyerlahkan corak yang dipadankan dalam fail

Kita boleh membuat output lebih bermaklumat dengan menonjolkan corak yang dipadankan. Untuk mencapai matlamat ini, kita boleh menggunakan --warna Pilihan Egrep perintah. Contohnya, arahan di bawah akan menyerlahkan teks profesional dalam warna merah:

$ egrep -Color = contoh profesional auto.txt 
Sorot teks dalam fail

Di sini, kita dapat melihat bahawa output yang sama lebih bermaklumat berbanding dengan yang sebelumnya. Juga, kita dapat dengan mudah mengenal pasti perkataan itu profesional diulang dua kali.

Pada kebanyakan sistem Linux tetapan di atas didayakan secara lalai menggunakan alias berikut:

$ alias egrep = "egrep -color = auto" 

3. Cara mencari corak dalam pelbagai fail

The Egrep Perintah menerima pelbagai fail sebagai hujah, yang membolehkan kita mencari corak tertentu dalam pelbagai fail. Mari fahami ini dengan contoh.

Pertama, buat salinan Contoh.txt Fail:

Sampel $ CP.TXT sampel-salinan.txt 

Sekarang, cari corak profesional Dalam kedua -dua fail:

Sampel Profesional $ Egrep.TXT sampel-salinan.txt 
Cari rentetan dalam pelbagai fail

Dalam contoh di atas, kita dapat melihat nama fail dalam output, yang mewakili garis yang dipadankan dari fail tersebut.

4. Cara mengira garis yang sepadan dalam fail

Kadang -kadang kita hanya perlu mengetahui sama ada coraknya ada dalam fail. Jika ya maka dalam berapa banyak baris yang ada sekarang? Dalam kes sedemikian, kita boleh menggunakan -c pilihan arahan.

Contohnya, arahan di bawah akan ditunjukkan 1 sebagai output kerana perkataan profesional hadir hanya dalam satu baris.

Contoh profesional $ egrep -c.txt 1 

5. Cara mencetak hanya baris yang dipadankan dalam fail

Dalam contoh sebelumnya, kita melihat bahawa -c Pilihan tidak mengira bilangan kejadian corak. Contohnya, perkataan profesional muncul dua kali dalam barisan yang sama tetapi -c pilihan merawatnya sebagai satu perlawanan sahaja.

Dalam kes sedemikian, kita boleh menggunakan -o Pilihan arahan untuk mencetak corak yang dipadankan sahaja. Contohnya, arahan di bawah akan menunjukkan perkataan profesional pada dua baris berasingan:

Contoh profesional $ egrep -o.txt 

Sekarang, mari kita mengira garis menggunakan arahan WC:

Contoh profesional $ egrep -o.txt | WC -L 
Cetak baris yang dipadankan dalam fail

Dalam contoh di atas, kami telah menggunakan gabungan Egrep dan WC perintah untuk mengira bilangan kejadian corak tertentu.

6. Cara mencari corak dengan mengabaikan kes

Secara lalai, Egrep melakukan corak yang sepadan dengan cara yang sensitif. Ini bermaksud kata -kata - kita, kita, kita, dan kita dianggap sebagai kata -kata yang berbeza. Walau bagaimanapun, kita dapat menguatkuasakan carian kes-tidak sensitif dengan menggunakan -i pilihan.

Sebagai contoh, dalam perlawanan corak arahan di bawah akan berjaya untuk teks kita dan Kita:

$ egrep -I kami sampel.txt 
Carian rentetan tidak sensitif

7. Cara mengecualikan corak sebahagiannya dipadankan

Dalam contoh sebelumnya, kita melihat bahawa Egrep Perintah melakukan perlawanan separa. Contohnya, ketika kami mencari teks kita Kemudian pencocokan corak berjaya untuk teks lain juga. Seperti web, laman web, dan.

Untuk mengatasi batasan ini, kita boleh -w pilihan, yang menguatkuasakan keseluruhan yang sesuai.

$ egrep -w kami sampel.txt 
Cetak hanya corak yang dipadankan dalam fail

8. Cara membalikkan corak yang sepadan dalam fail

Setakat ini, kami menggunakan Egrep perintah untuk mencetak garis di mana corak yang diberikan hadir. Namun, kadang -kadang kita mahu melaksanakan operasi dengan cara yang bertentangan.

Contohnya, kita mungkin mahu mencetak garis di mana corak yang diberikan tidak hadir. Kita dapat mencapai ini dengan bantuan -v pilihan:

$ egrep -v kami sampel.txt 
Pencocokan corak terbalik dalam fail

Di sini, kita dapat melihat bahawa arahan mencetak semua baris yang tidak mengandungi teks kita.

9. Cara mencari nombor garis corak

Kita boleh menggunakan -n Pilihan arahan untuk membolehkan penomboran garis, yang menunjukkan nombor baris dalam output apabila pemadanan corak berjaya. Trik sederhana ini menjadikan output lebih bermakna.

Contoh profesional $ egrep -n.txt 
Cetak nombor garis corak yang dipadankan

Dalam output di atas, kita dapat melihat bahawa perkataan itu profesional hadir di 5th garis.

10. Cara Melakukan Pencocokan Corak dalam Mod Tenang

Dalam mod yang tenang, Egrep Perintah tidak mencetak corak yang dipadankan. Oleh itu, kita harus menggunakan nilai pulangan arahan untuk mengenal pasti sama ada pencocokan corak berjaya atau tidak.

Kita boleh menggunakan -q Pilihan arahan untuk membolehkan mod tenang, yang berguna semasa menulis skrip shell.

Sampel Profesional $ Egrep -Q.TXT $ EGREP -Q SAMPLE.txt 
Corak carian yang sepadan dalam mod yang tenang

Dalam contoh ini, sifar Nilai pulangan menunjukkan kehadiran corak sedangkan nilai bukan sifar menunjukkan ketiadaan corak.

11. Cara memaparkan garis sebelum corak sepadan

Kadang -kadang, masuk akal untuk menunjukkan beberapa baris di sekitar corak yang dipadankan. Untuk senario sedemikian, kita boleh menggunakan -B pilihan arahan, yang memaparkan N garis sebelum corak yang dipadankan.

Contohnya, arahan di bawah akan mencetak garis yang mana perlawanan corak berjaya serta 2 baris sebelum itu.

$ egrep -b 2 -n contoh profesional.txt 
Garis cetak sebelum corak sepadan

Dalam contoh ini, kami telah menggunakan -n Pilihan untuk memaparkan nombor baris.

12. Cara memaparkan garis selepas corak perlawanan

Dengan cara yang sama, kita boleh menggunakan -A Pilihan arahan untuk memaparkan baris selepas corak perlawanan. Sebagai contoh, arahan di bawah akan mencetak garis yang mana perlawanan corak berjaya serta 2 baris seterusnya.

$ egrep -a 2 -n contoh profesional.txt 
Garis cetak selepas corak perlawanan

13. Cara memaparkan garis di sekitar corak perlawanan

Di samping itu, Egrep Perintah menyokong -C pilihan yang menggabungkan fungsi pilihan -A dan -B, yang memaparkan garis sebelum dan selepas corak yang dipadankan.

$ egrep -c 2 -n contoh profesional.txt 
Cetak garisan sekitar perlawanan corak

14. Cara mencari corak dalam pelbagai fail secara rekursif

Seperti yang telah dibincangkan sebelum ini, kita boleh melakukan padanan corak pada pelbagai fail. Walau bagaimanapun, keadaan menjadi rumit apabila fail hadir di bawah pelbagai sub-direktori dan kami lulus semuanya sebagai hujah arahan.

Dalam kes sedemikian, kita dapat melakukan padanan corak dengan cara rekursif menggunakan -r pilihan seperti yang ditunjukkan dalam contoh berikut.

Pertama, buat 2 sub-direktori dan salin Contoh.txt fail ke dalamnya:

$ mkdir -p dir1/dir2 $ cp sampel.sampel txt dir1/ $ cp.txt dir1/dir2/ 

Sekarang, mari kita lakukan operasi carian dengan cara rekursif:

$ egrep -r profesional dir1 
Cari rentetan secara rekursif dalam fail

Dalam contoh di atas, kita dapat melihat bahawa perlawanan corak berjaya untuk dir1/dir2/sampel.txt dan dir1/sampel.txt fail.

15. Cara Memadankan Satu Watak Menggunakan Ekspresi Biasa

Kita boleh menggunakan titik (.) watak yang sepadan dengan mana -mana watak tunggal kecuali untuk akhir garis. Sebagai contoh, ungkapan biasa di bawah sepadan dengan teks har, topi, dan mempunyai:

$ egrep "ha."Contoh.txt 
Padankan watak tunggal dalam fail

16. Cara memadankan sifar atau lebih banyak kejadian watak

Kita boleh menggunakan asterisk (*) untuk memadankan sifar atau lebih banyak kejadian watak sebelumnya. Contohnya, teks yang sepadan dengan ungkapan biasa di bawah yang mengandungi rentetan kita diikuti oleh sifar atau lebih banyak kejadian watak b.

Contoh $ egrep "web*".txt 
Padankan rentetan dalam fail teks

17. Cara memadankan satu atau lebih kejadian watak sebelumnya

Kita boleh menggunakan tambah (+) untuk memadankan satu atau lebih kejadian watak sebelumnya. Contohnya, ungkapan biasa di bawah sepadan dengan teks yang mengandungi rentetan kita diikuti oleh sekurang -kurangnya satu kejadian watak b.

Sampel $ egrep "web+".txt 
Padankan rentetan mengikut watak dalam fail

Di sini, kita dapat melihat bahawa pencocokan corak tidak berjaya untuk kata -kata - kita dan adalah, kerana ketiadaan watak b.

18. Cara Memadankan Permulaan Talian

Kita boleh menggunakan karet (^) untuk mewakili permulaan garis. Contohnya, ungkapan biasa di bawah mencetak garis yang bermula dengan teks Kita:

$ egrep "^Kami" sampel.txt 
Cetak teks yang dipadankan dengan garis permulaan

19. Cara Memadankan Hujung Talian

Kita boleh menggunakan dolar ($) untuk mewakili akhir garis. Contohnya, ungkapan biasa di bawah mencetak garis yang berakhir dengan teks e.:

$ egrep "e.$ "sampel.txt 
Cetak teks yang dipadankan dengan garis akhir

20. Cara mengeluarkan garis kosong dalam fail

Kita boleh menggunakan karet (^) segera diikuti oleh dolar ($) untuk mewakili garis kosong. Mari kita gunakan ini dalam ungkapan biasa untuk mengeluarkan garis kosong:

Sampel $ egrep -n -v "^$".txt 
Keluarkan garisan kosong dalam fail

Dalam output di atas, kita dapat melihat bahawa nombor baris 2, 4, 6, 8, dan 10 tidak dipaparkan kerana mereka kosong.

Kesimpulan

Dalam artikel ini, kami membincangkan beberapa contoh berguna mengenai Egrep Perintah. Seseorang boleh menggunakan contoh-contoh ini dalam kehidupan sehari-hari untuk meningkatkan produktiviti.

Adakah anda tahu contoh terbaik lain dari perintah Egrep di Linux? Beritahu kami pandangan anda dalam komen di bawah.