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.
Pilihan | Keterangan |
-Saya | Untuk pencarian peka huruf besar/kecil |
-R | Untuk mencari semua file secara rekursif di direktori yang ditentukan dan subdirektorinya |
-C | Untuk menampilkan berapa kali sebuah string muncul |
-v | Untuk menampilkan garis yang tidak cocok |
-w | Filter 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.