Cara Menggunakan Perintah FGREP untuk Mencari Rentetan di Linux

Cara Menggunakan Perintah FGREP untuk Mencari Rentetan di Linux

Ringkas: Dalam panduan mesra pemula ini, kami akan membincangkan beberapa contoh praktikal perintah fgrep. Menjelang akhir panduan ini, pengguna akan dapat melakukan operasi carian teks dengan cekap menggunakan antara muka baris arahan.

Pencarian teks adalah salah satu operasi yang paling biasa dilakukan. Walau bagaimanapun, tugas mudah ini dengan cepat menjadi memakan masa jika pengguna tidak biasa dengan alat yang betul. Di Linux, terdapat pelbagai utiliti penapis teks seperti AWK, Sed, potong, dan lain-lain.

Walau bagaimanapun, di Linux, fgrep adalah utiliti yang paling disukai untuk pencarian teks mudah. Dalam panduan ini, kita akan membincangkan beberapa contoh amalan fgrep Perintah yang boleh digunakan dalam kehidupan sehari-hari.

The fgrep Perintah di Linux jatuh di bawah keluarga perintah grep. Walau bagaimanapun, ia digunakan untuk mencari corak rentetan tetap dan bukannya ungkapan biasa. Oleh itu nama perintah itu fgrep (Grep tetap).

Sintaks fgrep Perintah serupa dengan perintah keluarga Grep yang lain:

$ fgrep [opsyen] Corak [fail] 

Untuk memulakan, mari buat fail teks biasa dengan kandungan berikut untuk menggunakan contoh:

$ CAT INPUT.txt 
Lihat Kandungan Fail di Linux

Di sini, kita dapat melihat bahawa fail teks siap dengan kandungan sampel. Sekarang mari kita bincangkan beberapa contoh umum mengenai fgrep perintah dalam beberapa contoh seterusnya.

1. Bagaimana fgrep berbeza daripada arahan grep dan egrep?

Seperti namanya, fgrep Perintah digunakan untuk mencari corak rentetan tetap. Ia menafsirkan corak sebagai rentetan tetap dan bukannya ungkapan biasa. Oleh itu ia melakukan operasi carian dengan cara yang cekap.

Untuk memahami perbezaannya, mari kita gunakan titik (.) watak dengan arahan grep.

Ekspresi biasa mudah ini sepadan dengan mana -mana watak tunggal kecuali untuk akhir garis:

$ grep ha. input.txt 
Mencari watak tunggal dengan grep

Dalam output di atas, kita dapat melihat bahawa titik (.) watak sepadan dengan teks HAR, topi, dan mempunyai.

Sekarang, mari kita gunakan corak yang sama dengan fgrep perintah dan perhatikan hasilnya:

$ fgrep ha. input.txt 

Dalam output di atas, kita dapat melihat bahawa arahan gagal mencari corak yang diberikan.

Ini berlaku kerana fgrep Perintah tidak mengiktiraf ungkapan biasa dan cuba mencari corak yang tidak sedia ada - "Ha.".

[Anda mungkin juga suka: Apa perbezaan antara Grep, Egrep, dan Fgrep di Linux? ]

2. Cara mencari corak dalam fail

Mari kita mulakan dengan contoh asas di mana kita akan mencari profesional rentetan dalam input.txt Fail:

Input profesional $ fgrep.txt 
Cari corak dalam fail

Seperti yang dapat kita lihat, pencocokan corak berjaya di dua tempat dan ia diserlahkan dengan warna merah.

3. Cara menetapkan warna output grep untuk corak yang dipadankan

Dalam contoh sebelumnya, kita melihat bahawa, secara lalai, corak yang dipadankan diserlahkan dalam warna merah. Walau bagaimanapun, kita dapat mengubah tingkah laku ini dengan memberikan nilai yang berbeza kepada Grep_color Pembolehubah persekitaran.

Mari kita tetapkan nilainya 32 kepada Grep_color Pembolehubah persekitaran untuk menyerlahkan corak yang dipadankan dengan warna hijau:

$ eksport grep_color = 32 $ fgrep input profesional.txt 
Tetapkan warna output grep untuk corak yang sepadan

Sekarang, sebelum beralih ke contoh seterusnya, unset the Grep_color Pembolehubah persekitaran untuk membolehkan tingkah laku lalai:

$ unset grep_color 

4. Cara mencari pelbagai corak dalam fail

Kadang -kadang, kita perlu melakukan padanan corak untuk pelbagai rentetan. Dalam kes sedemikian, kita dapat memberikan corak dari fail teks dan bukannya argumen baris arahan.

Mari buat fail teks yang mengandungi pelbagai corak pada baris yang berasingan:

Corak Cat $.txt Laman web profesional 

Sekarang, mari kita gunakan fail ini dengan -f Pilihan untuk pemadanan corak berganda:

corak $ fgrep -f.Input TXT.txt 
Cari pelbagai corak dengan fgrep

Dalam output di atas, kita dapat melihat bahawa pencocokan corak berjaya untuk rentetan profesional dan laman web.

5. Cara mengehadkan bilangan perlawanan dalam fail

Secara lalai, fgrep Perintah terus melaksanakan corak yang sepadan sehingga keseluruhan fail diproses.

Walau bagaimanapun, kadang -kadang kita perlu mengehadkan bilangan perlawanan. Dalam kes sedemikian, kita boleh menggunakan -m pilihan dengan arahan:

$ fgrep -m 1 input profesional.TXT Tecmint dimulakan pada 15 Ogos 2012 oleh Teknikal profesional dan semua 

Dalam contoh ini, fgrep Perintah menghentikan pemprosesan fail setelah memadankan corak pertama.

6. Cara Mencetak Nama Fail Semasa Mencari Corak

Kadang -kadang, kita hanya perlu mencari nama fail di mana corak tertentu hadir. Dalam kes sedemikian, kita boleh menggunakan -L Pilihan fgrep Perintah:

$ fgrep -l input profesional.txt input.txt 

Di sini, kita dapat melihat bahawa perintah itu hanya mencetak nama fail dan bukannya garis dengan corak yang dipadankan.

7. Cara Mencetak Nama Fail Apabila Pencocokan Corak Gagal

Dalam contoh sebelumnya, kita melihat bagaimana mencetak nama fail apabila pencocokan corak berjaya. Sekarang, mari kita lihat bagaimana melaksanakan operasi dengan cara yang terbalik.

Mari cuba mencari corak yang tidak sedia ada dalam fail dan perhatikan hasilnya:

$ fgrep -l input kata tidak sedia ada.txt input.txt 

Dalam contoh ini, kami menggunakan -L Pilihan arahan yang mencetak nama fail apabila pemadanan corak tidak berjaya.

8. Cara menindas mesej ralat

Pengendalian ralat memainkan peranan penting semasa menulis skrip shell. Walau bagaimanapun, dalam beberapa senario yang tidak kritikal, kami dapat mengabaikan mesej ralat dengan selamat.

Dalam fgrep, kita boleh menggunakan -s pilihan yang menindas kesilapan yang berkaitan dengan fail yang tidak sedia atau tidak boleh dibaca. Untuk memahami tingkah laku ini dengan cara yang lebih baik, mari cuba mencari corak dalam fail yang tidak sedia ada:

$ fgrep -s profesional fail yang tidak sedia ada.txt $ echo $? 2 

Dalam output di atas, kita dapat melihat bahawa arahan tidak memaparkan sebarang ralat pada aliran ralat standard. Walau bagaimanapun, kegagalan dilaporkan oleh nilai pulangan bukan sifar.

Di samping itu, kita juga dapat melihat tingkah laku yang sama apabila fail tidak dapat dibaca. Oleh itu, pertama, ubah suai kebenaran fail menggunakan chmod Perintah:

Input $ chmod 000.TXT $ ls -l input.txt 

Sekarang, cuba cari corak dan perhatikan hasilnya:

Input profesional $ fgrep -s.txt $ echo $? 
Grep mengabaikan mesej ralat

9. Cara mengecualikan baris yang sepadan dengan sebahagiannya

Dalam contoh sebelumnya, kita melihat bahawa fgrep Perintah melakukan perlawanan separa. Walau bagaimanapun, dalam beberapa kes, kita perlu melakukan perlawanan tepat untuk keseluruhan baris. Dalam kes sedemikian, kita boleh menggunakan -x Pilihan fgrep perintah.

$ fgrep -nx "Laman yang sama kadang -kadang sukar dicari."Input.txt 
Cari padanan tepat dalam fail

Dalam output di atas, perlawanan garis tepat berlaku pada baris nombor 20.

10. Cara mengecualikan fail semasa mencari secara rekursif

Kadang -kadang, kita perlu melangkau fail tertentu semasa melakukan operasi carian. Dalam kes sedemikian, kita boleh menggunakan --tidak termasuk Pilihan fgrep perintah.

Untuk memahami ini, mula -mula membuat direktori dan menyalin beberapa fail sampel ke dalamnya:

$ mkdir dir-1 $ cp input.txt dir-1/input.Input TXT $ CP.txt dir-1/input.Data $ CP Input.txt dir-1/input.md 

Sekarang, mari kita cari corak dalam semua fail dir-1 direktori kecuali ".txt ” Fail:

$ fgrep -r --exclude *.Profesional TXT dir-1 
Tidak termasuk fail semasa mencari corak

Dalam output di atas, kita dapat melihat bahawa pencocokan corak dilakukan pada fail dengan ".MD ” dan ".data ” sambungan.

11. Cara mengecualikan pelbagai jenis fail semasa mencari secara rekursif

Dalam contoh sebelumnya, kita melihat bagaimana untuk mengecualikan fail dengan sambungan tertentu. Walau bagaimanapun, arahan menjadi panjang apabila kita mahu mengecualikan fail dengan pelbagai sambungan. Dalam kes sedemikian, kami dapat memberikan corak yang tidak termasuk dari fail dan bukannya argumen baris arahan:

Oleh itu, mari buat fail teks yang mengandungi pelbagai corak tidak termasuk pada baris yang berasingan:

$ Cat Skip-corak.txt *.txt *.data 

Sekarang, mari kita gunakan fail ini dengan --tidak termasuk-dari pilihan:

$ fgrep -r --exclude-dari corak skip.Profesional TXT dir-1 
Tidak termasuk pelbagai jenis fail semasa mencari corak

Di sini, kita dapat melihat bahawa padanan corak dilakukan pada fail dengan ".MD ” sambungan sahaja.

12. Cara memasukkan fail semasa mencari secara rekursif

Dalam contoh sebelumnya, kami melihat bagaimana untuk mengecualikan fail semasa melakukan operasi carian secara rekursif. Sekarang, mari kita lihat bagaimana melaksanakan operasi dengan cara yang terbalik.

Mari gunakan --termasuk Pilihan fgrep perintah untuk melakukan carian pada fail dengan "*.txt ” sambungan:

$ fgrep -r -termasuk "*.TXT "Profesional DIR-1 
Sertakan fail semasa mencari corak

Dalam output di atas, kita dapat melihat bahawa padanan corak dilangkau untuk fail dengan "*.MD ” dan "*.data ” sambungan.

Dalam artikel ini, kami membincangkan beberapa contoh berguna mengenai fgrep perintah. Pemula boleh menggunakan contoh-contoh ini dalam kehidupan sehari-hari untuk meningkatkan produktiviti semasa bekerja dengan Linux.

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