Cara Menggunakan Perintah Grep di Linux

Memahami perintah grep dengan contoh praktis untuk memfilter dan menampilkan konten file dengan mudah

GREP singkatan dari 'Global Regular Expression Print'. Ini adalah utilitas baris perintah yang berguna yang disediakan oleh Linux, untuk mencari baris teks yang cocok dengan pola yang disediakan oleh pengguna.

grep mengambil input dari pengguna dalam bentuk string atau kata-kata yang ingin dicari pengguna dalam file tertentu. Perintah kemudian memeriksa file yang ditentukan oleh pengguna untuk pola ini dan kemudian mengembalikan baris yang cocok dengan pola yang disediakan.

Itu melakukan pekerjaan yang sangat baik dengan memfilter konten file sehingga membuat tugas kita lebih mudah untuk mencari konten tertentu pada satu atau beberapa file secara bersamaan.

Pada artikel ini, mari kita tinjau fungsi dari grep perintah dengan beberapa contoh praktis secara rinci.

Pilihan tersedia dengan grep memerintah

Ini adalah beberapa opsi mendasar yang akan sering Anda gunakan dengan grep memerintah.

PilihanKeterangan
-SayaUntuk pencarian peka huruf besar/kecil
-RUntuk mencari semua file secara rekursif di direktori yang ditentukan dan subdirektorinya
-CUntuk menampilkan berapa kali sebuah string muncul
-vUntuk menampilkan garis yang tidak cocok
-wFilter untuk kata tertentu yang digunakan secara terpisah

Menggunakan grep memerintah

grep perintah biasanya digunakan dengan pipa (|) kegunaan. Itu dapat diimplementasikan dengan pipa shell ketika Anda ingin menggunakannya dengan beberapa perintah Linux lainnya. Meskipun, grep juga dapat digunakan secara individual tanpa pipa (|) kegunaan.

Mari kita lihat beberapa sintaks dasar dari grep perintah dengan dan tanpa utilitas pipa.

Biarkan saya menunjukkan kepada Anda contoh file teks yang akan saya gunakan untuk mengilustrasikan grep memerintah.

INDIA ADALAH NEGARA YANG INDAH DARI ORANG-ORANG CINTA DAMAI. India berdiri di atas tiga pilar legislatif, eksekutif dan yudikatif. India Adalah Negara Yang Indah Dari Orang-Orang Yang Mencintai Perdamaian. India peduli pada orang-orang karena sumber dayanya koordinat kartesius pentingnya semua koordinat kartesius. Berikut ini adalah dua baris kosong. penggunaan gerobak sapi adalah pemandangan umum di desa untuk pekerjaan agraria. Ini adalah akhir dari file sampel.

grep digunakan dengan pipa ( | )kegunaan

grep perintah dapat diimplementasikan bersama dengan perintah Linux lainnya menggunakan pipa shell. Seperti, menggunakan kucing perintah untuk menampilkan konten file tetapi pada saat yang sama menyalurkan output menggunakan grep perintah untuk hanya menampilkan konten yang ingin Anda lihat. Ini akan lebih jelas ketika kita melalui contoh.

Sintaksis:

[perintah] | grep [string]

Contoh:

sampel kucing.txt | grep legislatif

Di sini, saya telah menggunakan kucing perintah untuk menampilkan beberapa baris dari file 'sample.txt'. Hanya baris-baris yang akan ditampilkan yang mengandung kata 'legislatif' di dalamnya dan mengabaikan baris-baris lainnya.

Keluaran:

gaurav@ubuntu:~/workspace$ cat sample.txt | grep legislature india berdiri di atas tiga pilar yaitu legislatif, eksekutif dan yudikatif. gaurav@ubuntu:~/ruang kerja$

grep digunakan tanpa pipa ( | )kegunaan

grep bahkan dapat digunakan secara langsung sebagai perintah individu tanpa menggunakan pipa ( | ) kegunaan.

Sintaksis:

grep [string_to_be_searched] [nama file]

Contoh:

grep India sample.txt

Keluaran:

India Adalah Negara Yang Indah Dari Orang-Orang Yang Mencintai Perdamaian. India peduli pada orang-orang sebagai sumber dayanya

Jadi, saya telah menggunakan grep perintah langsung untuk memfilter baris yang berisi string 'India' dari file teks 'sample.txt'.

Pencarian peka huruf besar/kecil menggunakan grep memerintah

Linux sangat berhati-hati dengan case-sensitivity ketika kita menjalankan perintah di terminal. Ini mengharuskan pengguna untuk berhati-hati tentang kasus string yang dimasukkan ke dalam perintah.

Mari kita lihat ini melalui sebuah contoh.

grep perdamaian sample.txt

Dalam hal ini, kami tidak akan mendapatkan output karena tidak ada kata 'damai' dalam file sampel. Kami memiliki kata 'Damai' dengan huruf kapital 'P'. Kata itu sama tetapi ketika kita menggunakan grep perintah tanpa opsi apa pun, ia mencari kecocokan persis dalam file, mengabaikan perubahan apa pun dalam huruf besar-kecil.

Untuk menghindari ambiguitas ini, Anda cukup menggunakan -Saya opsi yang secara harfiah memberi tahu grep memerintah "Lupakan kasing tempat saya memasukkan string, dan cari saja semua pola yang cocok di file."

Sintaksis:

grep -i [string] [nama file]

Contoh:

grep -i peace sample.txt

Keluaran:

INDIA ADALAH NEGARA YANG INDAH DARI ORANG-ORANG CINTA DAMAI. India Adalah Negara Yang Indah Dari Orang-Orang Yang Mencintai Perdamaian.

Semua baris yang cocok ditampilkan terlepas dari kasus di mana string yang cocok berada.

Pencarian rekursif menggunakan grep memerintah

Itu -R option akan mencari semua file dalam direktori dan semua sub-direktorinya yang cocok dengan pola string yang disediakan oleh pengguna dalam perintah.

Sintaksis:

grep -i -r [string] [file_path]

Contoh:

grep -i -r Tomcat /home/gaurav/workspace

String di sini adalah 'Tomcat' dan akan dicari di ruang kerja direktori. Semua subdirektori dan file di direktori 'ruang kerja' juga akan dipindai agar sesuai dengan pola string yang disediakan.

Keluaran:

./context_log.policy:// catalina.policy - Izin Kebijakan Keamanan untuk Tomcat 7 ./context_log.policy:// Catatan: Jika Tomcat-juli.jar ada di ${catalina.base} dan bukan di ${catalina.home }, ./context_log.policy:// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} ./context_log.policy:grant codeBase "file:${catalina.home }/bin/Tomcat-juli.jar" { ./context_log.policy: izin java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; ./context.xml: ./catalina.properties:# - Tomcat Bootstrap JAR ./catalina.properties:# - Tomcat API JAR ./catalina.properties:# - Tomcat JAR ./catalina.properties:# - Umum non-Tomcat JAR ./catalina.properties:org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar ./catalina.properties:tomcat.util.buf.StringCache.byte.enabled=true ./catalina.properties:# tomcat.util.buf.StringCache.char.enabled=true ./catalina.properties:#tomcat.util.buf.StringCache.trainThreshold=500000 ./catalina.properties:#tomcat.util.buf.StringCache.cacheSize=5000 . /server.xml: pathname="conf/Tomcat-users.xml" /> ./server.xml: 

CATATAN: Saat menggunakan -R pilihan dengan grep perintah yang kita butuhkan untuk menyediakan jalur file dan bukan nama file

Mencari seluruh kata hanya dengan grep memerintah

Banyak kali kasusnya adalah Anda akan mencari satu kata tetapi Anda akhirnya akan mengisi terminal Anda dengan baris yang cocok yang memang berisi kata yang cocok tetapi tidak sebagai kata individual. Anda mungkin melihat baris yang berisi beberapa kata yang subbagiannya adalah string yang telah Anda masukkan.

Bingung dengan ini? Jangan khawatir, itu jauh lebih mudah dipahami setelah Anda mendapatkan contoh.

Contoh:

Di sini, saya ingin mencari satu kata 'keranjang' dan menampilkan semua baris yang cocok dengan kata ini di file 'sample.txt'.

grep -i cart sample.txt

Keluaran:

Koordinat Cartesian pentingnya semua koordinat Cartesian. penggunaan gerobak sapi adalah pemandangan umum di desa untuk pekerjaan agraris. Gerobak hilang saat anak laki-laki itu melepaskannya.

Pada output, Anda dapat mengamati bahwa kata 'Cartesian' juga mengandung kata 'cart' dan karenanya, baris yang berisi kata 'Cartesian' juga ditampilkan meskipun kami tidak ingin menampilkannya.

Anda dapat menggunakan -w pilihan dengan grep perintah untuk memecahkan ambiguitas ini.

Sintaksis:

grep -i -w [string] [nama file]

Contoh:

grep -i -w cart sample.txt

Keluaran:

penggunaan gerobak sapi adalah pemandangan umum di desa untuk pekerjaan agraria. Kereta itu hilang saat anak laki-laki itu melepaskannya. 

Sekarang, ketika Anda telah menggunakan –w pilihan dengan grep Anda hanya akan mendapatkan baris di mana kata 'gerobak' digunakan secara keseluruhan.

Pencarian terbalik menggunakan grep memerintah

grep perintah juga dapat digunakan secara terbalik. Kita bisa menggunakan grep perintah sebaliknya dengan menyembunyikan garis yang cocok dan hanya menampilkan garis di mana kecocokan tidak ditemukan. Anda dapat melakukan ini menggunakan -v pilihan dengan grep memerintah.

Sintaksis:

grep -i -v [string] [nama file]

Contoh:

grep -i -v resource sample.txt

Keluaran:

INDIA ADALAH NEGARA YANG INDAH DARI ORANG-ORANG CINTA DAMAI. India berdiri di atas tiga pilar legislatif, eksekutif dan yudikatif. India Adalah Negara Yang Indah Dari Orang-Orang Yang Mencintai Perdamaian. koordinat kartesius pentingnya semua koordinat kartesius. penggunaan gerobak sapi adalah pemandangan umum di desa untuk pekerjaan agraria. Ini adalah akhir dari file sampel.

Di output, semua baris lain ditampilkan selain baris yang berisi kata 'sumber daya'.

Menghitung kemunculan string yang cocok

Keluaran dari grep perintah biasanya sangat panjang jika data dalam file luas. Semakin banyak kecocokan, semakin lama output dari grep memerintah. Linux memberi Anda opsi di mana Anda dapat menampilkan jumlah kemunculan kecocokan.

Sintaksis:

grep -i -c [string] [nama file]

Contoh:

grep -i -c india sample.txt

Keluaran:

gaurav@ubuntu:~/workspace$ grep -i -c india sample.txt 4 gaurav@ubuntu:~/workspace$

Di sini, outputnya adalah angka yang merupakan jumlah kemunculan kata 'India' dalam file sample.txt.

CATATAN: Saya telah menggunakan -Saya opsi di setiap contoh untuk aman dengan masalah sensitivitas huruf besar-kecil. Jika Anda yakin tentang kasus kata yang Anda cari, maka Anda dapat dengan aman menghilangkan -Saya pilihan.

Kesimpulan

Kami telah mempelajari penggunaan dasar dari grep perintah pada sistem Linux dalam tutorial ini. Kami juga belajar menampilkan berbagai konten yang paling sesuai dengan kebutuhan kami dan tidak memadati terminal dengan banyak antrean. grep perintah pasti akan menghemat waktu jika digunakan untuk memindai kumpulan data besar.