Di Linux dan Unix Systems Grep, kependekan dari "global regular expression print", adalah perintah yang digunakan dalam mencari dan mencocokkan file teks yang terdapat dalam ekspresi reguler. Selanjutnya, perintah tersebut sudah diinstal sebelumnya di setiap distribusi Linux. Dalam panduan ini, kita akan melihat penggunaan perintah grep umum dengan beberapa contoh.
Perintah Grep di Linux
Perintah grep dapat digunakan untuk menemukan atau mencari ekspresi reguler atau string dalam file teks. Untuk mendemonstrasikannya, mari buat file teks welcome.txt dan tambahkan beberapa konten seperti yang ditunjukkan.
Welcome to Linux !
Linux is a free and opensource Operating system that is mostly used by
developers and in production servers for hosting crucial components such as web
and database servers. Linux has also made a name for itself in PCs.
Beginners looking to experiment with Linux can get started with friendlier linux
distributions such as Ubuntu, Mint, Fedora and Elementary OS.
Besar! Sekarang kita siap untuk melakukan beberapa perintah grep dan memanipulasi output untuk mendapatkan hasil yang diinginkan.
Untuk mencari string dalam file, jalankan perintah di bawah ini
Sintaks
$ grep "string" file name
ATAU
$ filename grep "string"
Contoh :
$ grep "Linux" welcome.txt
Keluaran
Seperti yang Anda lihat, grep tidak hanya mencari dan mencocokkan string “Linux” tetapi juga mencetak baris di mana string tersebut muncul.
Jika file terletak di jalur file yang berbeda, pastikan untuk menentukan jalur file seperti yang ditunjukkan di bawah ini
$ grep "string" /path/to/file
Mewarnai hasil Grep menggunakan opsi –warna
Jika Anda bekerja pada sistem yang tidak menampilkan string atau pola pencarian dalam warna yang berbeda dari teks lainnya, gunakan --color
untuk membuat hasil Anda menonjol.
Contoh
$ grep --color "free and opensource" welcome.txt
Keluaran
Mencari string secara rekursif di semua direktori
Jika Anda ingin mencari string di direktori Anda saat ini dan semua subdirektori lainnya, cari menggunakan - r
bendera seperti yang ditunjukkan
$ grep -r "string-name" *
Misalnya
$ grep -r "linux" *
Keluaran
Mengabaikan sensitivitas huruf besar/kecil
Dalam contoh di atas, hasil pencarian kami memberi kami apa yang kami inginkan karena string "Linux" ditentukan dalam Huruf Besar dan juga ada di file dalam Huruf Besar. Sekarang mari kita coba dan cari string dalam huruf kecil.
$ grep "linux" file name
Tidak ada dari output, kan? Ini karena grep tidak dapat menemukan dan mencocokkan string “linux” karena huruf pertama adalah huruf kecil. Untuk mengabaikan sensitivitas huruf besar/kecil, gunakan -i
tandai dan jalankan perintah di bawah ini
$ grep -i "linux" welcome.txt
Keluaran
Mengagumkan bukan? The - i
biasanya digunakan untuk menampilkan string terlepas dari sensitivitas huruf besar/kecilnya.
Hitung baris di mana string dicocokkan dengan opsi -c
Untuk menghitung jumlah baris di mana pola string muncul atau berada, jalankan perintah di bawah ini
$ grep -c "Linux" welcome.txt
Keluaran
Menggunakan Grep untuk membalikkan Output
Untuk membalikkan output Grep , gunakan -v
bendera. -v
option menginstruksikan grep untuk mencetak semua baris yang tidak berisi atau cocok dengan ekspresi.
Opsi –v memberi tahu grep untuk membalikkan outputnya, yang berarti bahwa alih-alih mencetak garis yang cocok, lakukan yang sebaliknya dan cetak semua garis yang tidak cocok dengan ekspresi. Kembali ke file kita, mari kita tampilkan nomor baris seperti yang ditunjukkan.
Tekan ESC pada editor Vim, ketik titik dua penuh diikuti dengan
set nu
Selanjutnya, tekan Enter
Keluaran
Sekarang, untuk menampilkan baris yang tidak mengandung string “Linux” jalankan
$ grep -v "Linux" welcome.txt
Keluaran
Seperti yang Anda lihat, grep telah menampilkan baris yang tidak berisi pola pencarian.
Beri nomor baris yang berisi pola pencarian dengan opsi -n
Untuk memberi nomor pada baris yang cocok dengan pola string , gunakan -n
pilihan seperti yang ditunjukkan
$ grep -n "Linux" welcome.txt
Keluaran
Cari kata yang sama persis menggunakan opsi -w
Lewati -w
flag akan mencari baris yang berisi kata yang sama persis seperti yang ditunjukkan
$ grep -w "opensource" welcome.txt
Keluaran
Namun, jika Anda mencoba
$ grep -w "open" welcome.txt
TIDAK ADA hasil yang akan dikembalikan karena kami tidak mencari pola tetapi kata yang tepat!
Menggunakan pipa dengan grep
Perintah grep dapat digunakan bersama dengan pipa untuk mendapatkan keluaran yang berbeda.
Misalnya, Jika Anda ingin tahu apakah paket tertentu diinstal di sistem Ubuntu, jalankan
$ dpkg -L | grep "package-name"
Misalnya, untuk mengetahui apakah OpenSSH telah diinstal di sistem Anda, pipa dpkg -l
perintah untuk grep seperti yang ditunjukkan
$ dpkg -L | grep -i "openssh"
Keluaran
Menampilkan jumlah baris sebelum atau sesudah pola pencarian Menggunakan pipa
Anda dapat menggunakan -A atau -B untuk menampilkan jumlah baris yang mendahului atau datang setelah string pencarian. -A flag menunjukkan baris yang muncul setelah string pencarian dan -B mencetak output yang muncul sebelum string pencarian.
Misalnya
$ ifconfig | grep -A 4 ens3
Perintah ini menampilkan baris yang berisi string ditambah 4 baris teks setelah ens string di ifconfig
perintah.
Keluaran
Sebaliknya, pada contoh di bawah, penggunaan flag -B akan menampilkan baris yang berisi string pencarian ditambah 3 baris teks sebelum ether string di ifconfig
perintah.
Keluaran
$ ifconfig | grep -B 4 ether
Menggunakan grep dengan ekspresi reguler (REGEX)
Istilah REGEX adalah singkatan dari REG ular EX tekanan. REGEX adalah urutan karakter yang digunakan untuk mencocokkan pola. Berikut adalah beberapa contohnya:
^ Matches characters at the beginning of a line
$ Matches characters at the end of a line
"." Matches any character
[a-z] Matches any characters between A and Z
[^ ..] Matches anything apart from what is contained in the brackets
Contoh
Untuk mencetak baris yang diawali dengan karakter tertentu, sintaksnya adalah;
grep ^character file_name
Misalnya, untuk menampilkan baris yang dimulai dengan huruf “d” di file welcome.txt, kita akan mengeksekusi
$ grep ^d welcome.txt
Keluaran
Untuk menampilkan garis yang diakhiri dengan huruf 'x' run
$ grep x$ welcome.txt
Keluaran
Mendapatkan bantuan dengan opsi Grep lainnya
Jika Anda perlu mempelajari lebih lanjut tentang penggunaan perintah Grep, jalankan perintah di bawah ini untuk mendapatkan pratinjau singkat dari flag atau opsi lain yang mungkin Anda gunakan bersama dengan perintah tersebut.
$ grep --help
Contoh Keluaran
Kami menghargai waktu Anda untuk melalui tutorial ini. Jangan ragu untuk mencoba perintahnya dan beri tahu kami bagaimana hasilnya.