20 Contoh Perintah Linux Egrep

20 Contoh Perintah Linux Egrep

Singkat: Dalam panduan ini, kita akan membahas beberapa contoh praktis dari perintah egrep. Setelah mengikuti panduan ini, pengguna akan dapat melakukan pencarian teks lebih efisien di Linux.

Pernahkah Anda frustrasi karena Anda tidak dapat menemukan informasi yang diperlukan dalam log? Mengekstraksi informasi yang diperlukan dari kumpulan data besar adalah tugas yang kompleks dan memakan waktu.

Hal -hal menjadi sangat menantang jika sistem operasi tidak menyediakan alat yang tepat dan di sini datang Linux untuk menyelamatkan Anda. Linux menyediakan berbagai utilitas penyaringan teks seperti AWK, SED, memotong, dll.

Namun, Egrep adalah salah satu utilitas yang paling kuat dan umum digunakan untuk pemrosesan teks di Linux, dan kami akan membahas beberapa contoh Egrep memerintah.

Itu Egrep Perintah di Linux dikenali oleh keluarga perintah GREP, yang digunakan untuk mencari dan mencocokkan pola tertentu dalam file. Ini bekerja sama dengan grep -e (grep diperpanjang regex), tetapi sebagian besar mencari file tertentu atau bahkan baris untuk melapisi atau mencetak baris dalam file yang diberikan.

Sintaksis Egrep Perintah adalah sebagai berikut:

$ egrep [opsi] Pola [File] 

Mari kita buat file teks sampel dengan konten berikut untuk menggunakan contoh:

$ sampel kucing.txt 
Contoh file teks

Di sini, kita dapat melihat bahwa file teks sudah siap. Sekarang mari kita bahas beberapa contoh umum yang dapat digunakan setiap hari.

1. Cara menemukan pola dalam satu file

Mari kita mulai dengan contoh pencocokan pola sederhana, di mana kita dapat menggunakan perintah di bawah ini untuk mencari string profesional di sebuah Sampel.txt mengajukan:

$ egrep profesional sampel.txt 
Cari String di File

Di sini, kita dapat melihat bahwa perintah mencetak baris yang berisi pola yang ditentukan.

2. Cara menyorot pola yang cocok dalam file

Kami dapat membuat output lebih informatif dengan menyoroti pola yang cocok. Untuk mencapai ini, kita dapat menggunakan --warna opsi Egrep memerintah. Misalnya, perintah di bawah ini akan menyorot teks profesional dalam warna merah:

$ egrep - -color = sampel Profesional Otomatis.txt 
Sorot teks dalam file

Di sini, kita dapat melihat bahwa output yang sama lebih informatif dibandingkan dengan yang sebelumnya. Juga, kami dapat dengan mudah mengidentifikasi bahwa kata tersebut profesional diulang dua kali.

Pada sebagian besar sistem Linux, pengaturan di atas diaktifkan secara default menggunakan alias berikut:

$ alias egrep = "egrep -color = auto" 

3. Bagaimana menemukan pola di beberapa file

Itu Egrep Perintah menerima banyak file sebagai argumen, yang memungkinkan kita mencari pola tertentu di beberapa file. Mari kita pahami ini dengan sebuah contoh.

Pertama, buat salinan Sampel.txt mengajukan:

$ sampel CP.TXT COPODS COPLE.txt 

Sekarang, cari polanya profesional Di kedua file:

$ egrep profesional sampel.TXT COPODS COPLE.txt 
Cari string di beberapa file

Dalam contoh di atas, kita dapat melihat nama file dalam output, yang mewakili baris yang cocok dari file itu.

4. Cara menghitung baris yang cocok dalam file

Terkadang kita hanya perlu mencari tahu apakah polanya hadir dalam file. Jika ya maka dalam berapa banyak barisnya? Dalam kasus seperti itu, kita dapat menggunakan -C Opsi Perintah.

Misalnya, perintah di bawah ini akan ditampilkan 1 sebagai output karena kata itu profesional hadir hanya dalam satu baris.

$ egrep -C Profesional Sampel.txt 1 

5. Cara mencetak hanya baris yang cocok dalam file

Dalam contoh sebelumnya, kami melihat bahwa -C opsi tidak menghitung jumlah kejadian pola. Misalnya, kata tersebut profesional muncul dua kali dalam baris yang sama tetapi -C Opsi memperlakukannya sebagai satu pertandingan saja.

Dalam kasus seperti itu, kita dapat menggunakan -Hai opsi perintah untuk mencetak pola yang cocok saja. Misalnya, perintah di bawah ini akan menampilkan kata tersebut profesional pada dua baris terpisah:

$ egrep -o Profesional Sampel.txt 

Sekarang, mari kita hitung garis menggunakan perintah WC:

$ egrep -o Profesional Sampel.txt | WC -L 
Cetak baris yang cocok dalam file

Dalam contoh di atas, kami telah menggunakan kombinasi Egrep Dan toilet perintah untuk menghitung jumlah kejadian dari pola tertentu.

6. Bagaimana menemukan pola dengan mengabaikan kasus

Secara default, Egrep melakukan pencocokan pola dengan cara yang sensitif terhadap case. Itu berarti kata -kata - kami, kami, kami, dan kami diperlakukan sebagai kata yang berbeda. Namun, kami dapat menegakkan pencarian yang tidak peka case menggunakan -Saya pilihan.

Misalnya, dalam kecocokan pola perintah di bawah ini akan berhasil untuk teks Kami Dan Kami:

$ egrep -Aku sampel.txt 
Cari case string tidak sensitif

7. Cara mengecualikan pola yang cocok sebagian

Dalam contoh sebelumnya, kami melihat bahwa Egrep Perintah melakukan kecocokan parsial. Misalnya, saat kami mencari teks Kami Kemudian pencocokan pola juga berhasil untuk teks lain. Seperti web, situs web, dan dulu.

Untuk mengatasi keterbatasan ini, kita bisa -w opsi, yang memberlakukan seluruh kata pencocokan.

$ egrep -w kami sampel.txt 
Cetak hanya pola yang cocok dalam file

8. Cara membalikkan pencocokan pola dalam file

Sejauh ini, kami menggunakan Egrep Perintah untuk mencetak garis di mana pola yang diberikan hadir. Namun, kadang -kadang kami ingin melakukan operasi dengan cara yang berlawanan.

Misalnya, kami mungkin ingin mencetak garis di mana pola yang diberikan tidak ada. Kita dapat mencapai ini dengan bantuan -v pilihan:

$ egrep -v kami sampel.txt 
Membalikkan pencocokan pola dalam file

Di sini, kita dapat melihat bahwa perintah tersebut mencetak semua baris yang tidak berisi teks Kami.

9. Bagaimana menemukan nomor garis polanya

Kita bisa menggunakan -N Opsi perintah untuk mengaktifkan penomoran baris, yang menunjukkan nomor baris dalam output saat pencocokan pola berhasil. Trik sederhana ini membuat output lebih bermakna.

$ egrep -n sampel profesional.txt 
Jumlah baris cetak dari pola yang cocok

Dalam output di atas, kita dapat melihat bahwa kata itu profesional hadir di Ke -5 garis.

10. Cara melakukan pencocokan pola dalam mode tenang

Dalam mode tenang, Egrep Perintah tidak mencetak pola yang cocok. Jadi kita harus menggunakan nilai pengembalian perintah untuk mengidentifikasi apakah pencocokan pola berhasil atau tidak.

Kita bisa menggunakan -Q opsi perintah untuk mengaktifkan mode tenang, yang berguna saat menulis skrip shell.

$ egrep -Q Profesional Sampel.txt $ egrep -q sampel pola yang tidak ada.txt 
Pencocokan pola pencarian dalam mode tenang

Dalam contoh ini, nol Nilai pengembalian menunjukkan adanya pola sedangkan nilai non-nol menunjukkan tidak adanya pola.

11. Cara menampilkan garis sebelum pola cocok

Terkadang, masuk akal untuk menunjukkan beberapa baris di sekitar pola yang cocok. Untuk skenario seperti itu, kita dapat menggunakan -B opsi perintah, yang ditampilkan N garis sebelum pola yang cocok.

Misalnya, perintah di bawah ini akan mencetak baris yang cocok dengan pola ini serta 2 baris sebelumnya.

$ egrep -b 2 -n Profesional Sampel.txt 
Cetak garis sebelum pencocokan pola

Dalam contoh ini, kami telah menggunakan -N Opsi untuk menampilkan nomor baris.

12. Cara menampilkan garis setelah pencocokan pola

Dengan cara yang sama, kita dapat menggunakan -A opsi perintah untuk menampilkan baris setelah pencocokan pola. Misalnya, perintah di bawah ini akan mencetak baris yang cocok dengan pola ini serta 2 baris berikutnya.

$ egrep -a 2 -n Profesional Sampel.txt 
Cetak garis setelah pencocokan pola

13. Cara menampilkan garis di sekitar pencocokan pola

Selain itu, Egrep perintah mendukung -C opsi yang menggabungkan fungsionalitas opsi -A Dan -B, yang menampilkan garis sebelum dan sesudah pola yang cocok.

$ egrep -c 2 -n Profesional Sampel.txt 
Cetak garis di sekitar pencocokan pola

14. Bagaimana menemukan pola dalam beberapa file secara rekursif

Seperti dibahas sebelumnya, kita dapat melakukan pencocokan pola pada beberapa file. Namun, situasinya menjadi rumit ketika file hadir di bawah beberapa sub-direktori dan kami meneruskan semuanya sebagai argumen perintah.

Dalam kasus seperti itu, kita dapat melakukan pencocokan pola dengan cara rekursif menggunakan -R opsi seperti yang ditunjukkan pada contoh berikut.

Pertama, buat 2 sub-direktori dan salin Sampel.txt File ke dalamnya:

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

Sekarang, mari kita lakukan operasi pencarian dengan cara rekursif:

$ egrep -r profesional dir1 
Cari string secara rekursif dalam file

Dalam contoh di atas, kita dapat melihat bahwa kecocokan pola berhasil untuk dir1/dir2/sampel.txt Dan Dir1/Sampel.txt file.

15. Cara mencocokkan satu karakter menggunakan ekspresi reguler

Kita bisa menggunakan titik (.) karakter untuk mencocokkan karakter tunggal kecuali untuk akhir baris. Misalnya, ekspresi reguler di bawah ini cocok dengan teks har, topi, dan memiliki:

$ egrep "ha." Sampel.txt 
Cocokkan karakter tunggal dalam file

16. Cara mencocokkan nol atau lebih kejadian karakter

Kita bisa menggunakan tanda bintang (*) untuk mencocokkan nol atau lebih kejadian karakter sebelumnya. Misalnya, ekspresi reguler di bawah ini cocok dengan teks yang berisi string Kami diikuti oleh nol atau lebih kejadian karakter B.

sampel $ egrep "web*".txt 
Cocokkan string dalam file teks

17. Cara mencocokkan satu atau lebih kejadian dari karakter sebelumnya

Kita bisa menggunakan plus (+) untuk mencocokkan satu atau lebih kejadian dari karakter sebelumnya. Misalnya, ekspresi reguler di bawah ini cocok dengan teks yang berisi string Kami diikuti oleh setidaknya satu kejadian karakter B.

sampel $ egrep "web+".txt 
Cocokkan string demi karakter dalam file

Di sini, kita dapat melihat pencocokan pola itu tidak berhasil untuk kata -kata - Kami Dan adalah, karena tidak adanya karakter B.

18. Cara mencocokkan awal garis

Kita bisa menggunakan caret (^) untuk mewakili awal garis. Misalnya, ekspresi reguler di bawah ini mencetak garis yang dimulai dengan teks Kami:

$ egrep "^we" sampel.txt 
Cetak teks yang cocok dengan garis start

19. Bagaimana mencocokkan ujung garis

Kita bisa menggunakan dolar ($) untuk mewakili akhir dari garis. Misalnya, ekspresi reguler di bawah ini mencetak garis yang diakhiri dengan teks e.:

$ egrep "e.$ "Sampel.txt 
Cetak teks yang cocok dengan garis akhir

20. Cara menghapus baris kosong dalam file

Kita bisa menggunakan caret (^) segera diikuti oleh dolar ($) untuk mewakili garis kosong. Mari kita gunakan ini dalam ekspresi reguler untuk menghapus garis kosong:

$ egrep -n -v "^$" Sampel.txt 
Hapus baris kosong di file

Dalam output di atas, kita dapat melihat bahwa nomor baris 2, 4, 6, 8, dan 10 tidak ditampilkan karena kosong.

Kesimpulan

Dalam artikel ini, kami membahas beberapa contoh yang berguna dari Egrep perintah. Seseorang dapat menggunakan contoh-contoh ini dalam kehidupan sehari-hari untuk meningkatkan produktivitas.

Apakah Anda tahu contoh terbaik lainnya dari perintah egrep di Linux? Beri tahu kami pandangan Anda di komentar di bawah.