grep

Perintah Grep di Linux

Perintah Grep di Linux
Perintah Grep (cetakan ungkapan biasa global) adalah utiliti baris perintah Linux yang paling kuat dan kerap digunakan. Dengan menggunakan Grep, anda boleh mencari maklumat berguna dengan menentukan kriteria carian. Ia mencari corak ekspresi tertentu dalam fail yang ditentukan. Apabila menemui padanan, ia mencetak semua baris fail yang sesuai dengan corak yang ditentukan. Ia sangat berguna apabila anda perlu menapis fail log yang besar.

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 grep

Menggunakan 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 -i

Perintah 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 fail2

Sebagai 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 -A Nama fail "string"

Ia 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 -B Nama fail "string"

Untuk memaparkan bilangan baris N di sekitar rentetan dalam fail tertentu, gunakan sintaks berikut:

$ grep -C Nama fail "string"

Menonjolkan 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.

5 Permainan Arcade Terbaik untuk Linux
Pada masa kini, komputer adalah mesin serius yang digunakan untuk permainan. Sekiranya anda tidak dapat memperoleh skor tinggi baru, anda akan tahu ma...
Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...
Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...