Dalam artikel ini, kami akan menerangkan penggunaan grep utiliti dengan contoh yang berbeza. Kami akan menggunakan Debian 10 untuk menjelaskan perintah dan kaedah yang disebutkan dalam artikel ini.
Memasang Grep
Grep dipasang di sebahagian besar pengedaran Linux. Walau bagaimanapun, sekiranya sistem ini hilang dari sistem anda, anda boleh memasangnya menggunakan kaedah berikut di Terminal:
$ sudo apt-get install grepMenggunakan Grep
Berikut adalah sintaks asas perintah grep. Ia bermula dengan grep diikuti oleh beberapa pilihan dan kriteria carian dan kemudian diakhiri dengan nama fail.
$ grep [pilihan] POLA [FILE…]Cari fail
Untuk mencari nama fail dalam direktori yang mengandungi rentetan tertentu di dalamnya, anda boleh menggunakan grep dengan cara berikut:
$ ls -l | rentetan grep -i “Sebagai contoh, untuk mencari nama file yang berisi string “ujian", Perintahnya adalah:
$ ls -l | ujian grep -iPerintah ini menyenaraikan semua fail yang mengandungi rentetan "ujian".
Cari rentetan dalam fail
Untuk mencari rentetan dalam fail tertentu, anda boleh menggunakan sintaks perintah berikut:
nama fail $ string "string"Sebagai contoh, untuk mencari rentetan "ujianDalam fail bernama fail ujian1, kami telah menggunakan arahan berikut:
$ grep “pekerja” testfile1
Keluaran di atas telah mengembalikan ayat dari fail ujian1 yang mengandungi rentetan "pekerja".
Cari rentetan dalam beberapa fail
Untuk mencari rentetan dalam beberapa fail, anda boleh menggunakan sintaks perintah berikut:
$ string "string" nama fail1 nama fail2Sebagai contoh, untuk mencari rentetan "pekerja" dalam dua file testfile1 dan testfile2 kami, kami telah menggunakan perintah berikut:
$ grep “pekerja” testfile1 testfile2
Perintah di atas akan menyenaraikan semua baris yang mengandungi rentetan "pekerja" dari kedua-dua fail testfile1 dan testfile2.
Anda juga boleh menggunakan watak wildcard jika semua nama fail bermula dengan teks yang sama.
nama fail $ string "string" *Seperti, jika kita mengambil contoh di atas di mana nama fail kami berada testfile1 dan testfile2 , arahannya adalah:
$ grep "pekerja" testfile *
Cari rentetan dalam fail dengan mengabaikan huruf besar
Selalunya, anda pernah menjumpainya semasa anda mencari sesuatu menggunakan grep tetapi tidak mendapat output. Ini berlaku kerana kes tidak sepadan semasa mencari rentetan. Seperti dalam contoh kita, jika kita salah menggunakan “Pekerja"Bukannya"pekerja", Ia akan mengembalikan nihil kerana fail kami mengandungi rentetan"pekerja"Dengan huruf kecil.
Anda boleh memberitahu grep untuk mengabaikan kes string carian dengan menggunakan bendera -i selepas grep seperti berikut:
$ fil-nama fail "string"
Dengan menggunakan bendera -i, perintah akan melakukan pencarian huruf besar-besaran dan tidak akan mengembalikan semua baris yang mengandungi rentetan "pekerja”Di dalamnya tanpa memperhatikan huruf-huruf tersebut berada dalam huruf besar atau huruf kecil.
Cari menggunakan ungkapan biasa
Sekiranya digunakan dengan betul, ungkapan biasa adalah ciri yang sangat berkesan dalam grep. Dengan perintah Grep, anda boleh menentukan ungkapan biasa dengan kata kunci permulaan dan akhir. Dengan berbuat demikian, anda tidak perlu menaip keseluruhan baris dengan perintah grep. Sintaks berikut boleh digunakan untuk tujuan ini.
$ grep “kata kunci permulaan.* nama fail berakhiran Kata Kunci ”Sebagai contoh, untuk mencari baris dalam file bernama testfile1 yang dimulai dengan string "ini" dan diakhiri dengan string "data", kami telah menggunakan perintah berikut:
$ grep “ini.* data ”testfile1
Ia akan mencetak keseluruhan baris dari fail ujian1 mengandungi ungkapan (kata kunci permulaan "ini" dan kata kunci akhir "data").
Cetak bilangan baris tertentu selepas / sebelum rentetan carian
Anda juga dapat memaparkan jumlah baris tertentu dalam fail sebelum / sesudah rentetan dengan rentetan yang dipadankan itu sendiri. Sintaks berikut boleh digunakan untuk tujuan ini:
$ grep -AIa akan memaparkan bilangan baris N setelah tali dipadankan dalam fail yang ditentukan termasuk tali yang dipadankan.
Contohnya, ini adalah fail contoh yang dinamakan testfile2.
Perintah berikut akan mengeluarkan baris yang sesuai yang mengandungi rentetan "pekerja", Bersama dengan 2 baris selepasnya.
$ grep -A 2 -i "pekerja" testfile2
Begitu juga, untuk memaparkan bilangan baris N sebelum rentetan yang dipadankan dalam fail tertentu, gunakan sintaks berikut:
$ grep -BUntuk memaparkan bilangan baris N di sekitar rentetan dalam fail tertentu, gunakan sintaks berikut:
$ grep -CMenonjolkan carian
Grep secara garis lurus mencetak dipadankan tetapi tidak menunjukkan bahagian garis mana yang dipadankan. Sekiranya anda menggunakan pilihan -warna dengan grep, ia akan menunjukkan di mana rentetan pemesinan muncul dalam fail anda. Grep secara lalai menggunakan warna merah untuk menyerlahkan.
Sintaks berikut boleh digunakan untuk tujuan ini:
nama fail $ string "string" --warna
Mengira jumlah pertandingan
Sekiranya anda ingin mengira berapa kali kata tertentu muncul dalam fail tertentu, anda boleh menggunakan pilihan grep dengan -c. Ia hanya mengembalikan jumlah perlawanan dan bukannya perlawanan itu sendiri. Sintaks berikut boleh digunakan untuk tujuan ini:
nama fail $ string "c"Ini adalah contoh fail kami:
Berikut adalah contoh arahan yang mengembalikan berapa kali perkataan tersebut fail muncul dalam fail bernama fail ujian3.
Pencarian terbalik
Kadang-kadang, anda mahu melakukan carian terbalik yang memaparkan semua baris kecuali yang sesuai dengan input. Untuk melakukannya, cukup gunakan bendera -v diikuti dengan grep:
$ filp nama fail "string"Sebagai contoh, untuk menampilkan semua baris dalam fail fail ujian3 yang tidak mengandungi kata "akaun" di dalamnya, kami telah menggunakan perintah berikut:
$ grep -v "akaun" testfile3
Menggunakan Grep dengan arahan lain
Grep juga dapat digunakan untuk menyaring hasil yang diperlukan dari output perintah yang berbeza. Contohnya, dari “senarai apt-installed ” output perintah, anda hanya ingin mencari pakej yang dipasang secara automatik, anda boleh menyaring hasilnya menggunakan grep seperti berikut:
$ apt - senarai terpasang | grep automatik
Begitu juga, lscpu memberikan maklumat terperinci mengenai CPU. Sekiranya anda hanya berminat dengan maklumat mengenai seni bina CPU, anda boleh menyaringnya menggunakan perintah berikut:
$ lscpu | Senibina grep
Dalam artikel ini, kami telah menerangkan beberapa contoh yang akan membantu anda dalam memahami perintah grep dan penggunaannya dalam keadaan yang berbeza. Memegang perintah grep yang kuat dapat menjimatkan banyak masa jika anda perlu melihat konfigurasi besar atau fail log dan melengkapkan maklumat berguna melalui mereka.