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. Tetapi sekiranya tidak ada di sistem anda, anda boleh memasangnya menggunakan kaedah berikut di Terminal:
$sudo pasang-dapatkan cengkaman
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.
$cengkaman [pilihan]CORAK[FILE ...]
Cari fail
Untuk mencari nama fail dalam direktori yang mengandungi rentetan tertentu di dalamnya, anda dapat menggunakan grep dengan cara berikut:
$ls -tempat | cengkaman -itali
Sebagai contoh, untuk mencari nama fail yang mengandungi rentetan ujian , arahannya adalah:
$ls-tempat| cengkaman–IujianPerintah ini menyenaraikan semua fail yang mengandungi rentetan ujian .
Cari rentetan dalam fail
Untuk mencari rentetan dalam fail tertentu, anda boleh menggunakan sintaks perintah berikut:
$cengkamannama fail rentetanContohnya, untuk mencari rentetan ujian dalam fail bernama fail ujian1 , kami telah menggunakan arahan berikut :
$cengkamanfail ujian pekerja1Keluaran 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:
$cengkamanrentetan nama fail1 nama fail2Sebagai contoh, untuk mencari pekerja rentetan dalam dua fail kami testfile1 dan testfile2, kami telah menggunakan perintah berikut:
$cengkamantestfile pekerja1 testfile2Perintah di atas akan menyenaraikan semua baris yang mengandungi pekerja rentetan dari kedua-dua fail testfile1 dan testfile2.
Anda juga boleh menggunakan watak wildcard jika semua nama fail bermula dengan teks yang sama.
$cengkamannama fail rentetan*Seperti, jika kita mengambil contoh di atas di mana nama fail kami berada testfile1 dan testfile2 , arahannya adalah:
$cengkamanfail ujian pekerja*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 –i bendera selepas grep seperti berikut:
$cengkaman–I nama fail rentetanDengan menggunakan bendera –i, perintah akan melakukan pencarian huruf besar-kecil dan tidak akan mengembalikan semua baris yang mengandungi rentetan pekerja di dalamnya tanpa mengambil kira huruf 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.
$cengkamankata kunci permulaan.*menamatkan nama fail Kata kunciSebagai contoh, untuk mencari baris dalam file bernama testfile1 yang dimulai dengan string ini dan berakhir dengan data string, kami telah menggunakan perintah berikut:
$cengkamanini.*data ujian data1Ia akan mencetak keseluruhan baris dari fail ujian1 mengandungi ungkapan (kata kunci permulaan ini dan data kata kunci akhir).
Cetak bilangan baris tertentu selepas / sebelum rentetan carian
Anda juga dapat memaparkan jumlah baris tertentu dalam fail sebelum / sesudah rentetan rentetan dengan rentetan yang dipadankan itu sendiri. Sintaks berikut boleh digunakan untuk tujuan ini:
$cengkaman -TO <N>nama fail rentetanIa 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.
$cengkaman-TO2–File ujian pekerja2Begitu juga, untuk memaparkan bilangan baris N sebelum rentetan yang dipadankan dalam fail tertentu, gunakan sintaks berikut:
$cengkaman -B <N>nama fail rentetanUntuk memaparkan bilangan baris N di sekitar rentetan dalam fail tertentu, gunakan sintaks berikut:
$cengkaman -C <N>nama fail rentetanMenonjolkan 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:
$cengkamannama fail rentetan--warnaMengira 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:
$cengkaman–Cama nama fail rentetanIni 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:
$cengkaman-V nama fail rentetanSebagai contoh, untuk memaparkan semua baris dalam fail fail ujian3 yang tidak mengandungi kata akaun di dalamnya, kami telah menggunakan perintah berikut:
$cengkaman–File testfile akaun3Menggunakan Grep dengan arahan lain
Grep juga dapat digunakan untuk menyaring hasil yang diperlukan dari output perintah yang berbeza. Contohnya, dari senarai apt yang dipasang output perintah, anda hanya ingin mencari pakej yang dipasang secara automatik, anda boleh menyaring hasilnya menggunakan grep seperti berikut:
$tepat- dipasangsenarai| cengkamanautomatik
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| cengkamanSenibinaDalam artikel ini, kami telah menerangkan beberapa contoh yang akan membantu anda dalam memahami perintah grep dan penggunaannya dalam keadaan yang berbeza. Mempunyai pegangan yang kuat pada perintah grep dapat menjimatkan banyak masa jika anda perlu melihat konfigurasi besar atau fail log dan melangkau maklumat berguna melaluinya.