Grep, atau Global Regular Expression Print, adalah perintah Linux yang sangat berguna untuk menemukan pola yang cocok. Itu dapat melihat melalui file dan direktori, dan membaca input dari perintah juga. Itu mencari dengan regex, atau ekspresi reguler dan mencetak baris dari file yang cocok dengan pola yang diberikan.
Dalam posting ini, kita akan melihat cara menggunakan perintah Grep di Linux. Perintah yang dibahas di sini telah diuji pada Ubuntu 20.04. Perintah Grep yang sama juga berfungsi untuk Debian, Mint, Fedora, dan CentOS.
Menginstal perintah grep
Sebagian besar distribusi Linux termasuk Ubuntu 20.04 LTS datang dengan grep terinstal. Jika sistem Anda tidak menginstal Grep, Anda dapat menginstalnya menggunakan perintah di bawah ini di Terminal:
$ Sudo apt-get install grep
Sintaks perintah grep
Sintaks dasar dari perintah Grep adalah sebagai berikut:
$ grep [options] PATTERN [FILE...]
Menggunakan Perintah Grep
Menemukan kata dalam file
Dengan Grep, Anda dapat mencari kata apa pun dalam file tertentu. Sintaksnya adalah:
$ grep <word> <filename>
Misalnya, perintah di bawah ini akan mencari kata “Donuts” di file “Donuts.txt”.
$ grep Donuts Donuts.txt
Menemukan kata dalam banyak file
Anda juga dapat mencari kata tertentu di beberapa file.
$ grep <word> <filename1> < filename2>
Misalnya, perintah di bawah ini akan mencari kata “Donuts” di “Donuts.txt” dan “cakes.txt”.
$ grep Donuts Donuts.txt cakes.txt
Mengabaikan kasus
Grep melakukan pencarian peka huruf besar/kecil secara default, ini berarti bahwa ia memperlakukan "Donat" dan "donat" secara berbeda. Jika kita menjalankan kembali perintah di atas dengan “donuts”, Anda tidak akan melihat output kali ini.
$ grep donuts Donuts.txt
Untuk mengabaikan kasus ini, Anda perlu menambahkan “-i ” ke perintah Anda seperti ini:
$ grep –i <word> <filename>
Menemukan file dengan ekstensi di direktori
Anda juga dapat menemukan file di direktori tertentu dengan ekstensinya. Gunakan sintaks berikut untuk melakukannya:
$ ls ~/<directory> | grep .<file type>
Misalnya, untuk menemukan semua file “.jpeg” di folder “Unduhan”, perintahnya adalah:
$ ls ~/Downloads | grep .jpeg
Mencetak garis yang tidak sesuai dengan pola
Dengan Grep, Anda juga dapat mencetak garis yang tidak sesuai dengan pola Anda dengan menambahkan “-v ” atas perintah Anda. Gunakan sintaks berikut untuk melakukannya:
$ grep -v <word> <filename>
Misalnya, perintah berikut akan mencetak semua baris kecuali yang mengandung kata “Donuts” di dalamnya.
Hanya mencetak kata yang cocok
Secara default, grep mencetak seluruh baris yang berisi pola. Untuk mencetak hanya kata yang cocok, tambahkan “-o ” atas perintah Anda.
$ grep -o <word> <filename>
Misalnya, perintah berikut hanya akan mencetak kata “Donuts” alih-alih mencetak seluruh baris dari file “Donuts.txt”.
Mencetak nomor baris dari pola dan garis yang cocok
Secara default, grep mencetak seluruh baris yang berisi pola. Untuk mencetak nomor baris dan baris yang berisi kata yang cocok, tambahkan “-n ” atas perintah Anda.
$ grep -n <word> <filename>
Misalnya, perintah berikut akan mencetak nomor baris dan baris yang berisi kata “Donat”.
$ grep -n Donuts Donuts.txt
Mencetak nama file yang cocok dengan pola
Untuk mencetak semua file di direktori Anda saat ini yang cocok dengan pola Anda, gunakan sintaks berikut:
$ grep -l “<word>” *
Misalnya, perintah berikut akan mencetak semua file yang berisi kata “Halo”:
$ grep -l “Hello” *
Mencetak seluruh kata yang cocok
Secara default, grep mencetak semua kata yang cocok dengan pola Anda, bahkan jika itu adalah bagian dari sebuah kata. Perhatikan gambar di bawah ini.
Kami menelusuri string “lakukan ” dan dapat melihat semua baris yang berisi “lakukan ”. Untuk mencocokkan kata yang tepat, tambahkan “-w ” atas perintah Anda.
$ grep –w <word> <filename>
Misalnya, untuk menelusuri kata yang tepat “lakukan ” di file Donuts.txt, perintahnya adalah:
$ grep -w do Donuts.txt
Seperti yang Anda lihat, sekarang hanya mencetak baris yang berisi kata persis “lakukan ”.
Mencocokkan baris yang dimulai dengan kata tertentu
Untuk mencetak baris yang dimulai dengan kata tertentu, tambahkan “^ ” atas perintah Anda.
$ grep ^<word> <filename>
Misalnya, perintah berikut akan mencetak semua baris yang dimulai dengan “Th ”.
$ grep ^Th Donuts.txt
Mencocokkan garis yang diakhiri dengan pola
Untuk mencetak garis yang diakhiri dengan pola tertentu, tambahkan “$ ” atas perintah Anda.
$ grep <word>$ <filename>
Misalnya, perintah berikut akan mencetak semua baris yang diakhiri dengan “t ”.
$ grep t$ Donuts.txt
Mencocokkan baris yang mengandung huruf tertentu
Jika Anda ingin mencari baris yang memiliki satu atau beberapa huruf di dalamnya, gunakan sintaks berikut:
$ grep “[<letters>]” <filename>
Misalnya, perintah berikut mencetak semua baris yang berisi huruf apa pun dari “a” hingga “f”.
$ grep “[a-f]” Donuts.txt
Penelusuran Rekursif
Untuk mencari semua file dalam direktori dan sub-direktori untuk pola atau kata tertentu, gunakan:
$ grep -R <word> <path>
Misalnya, perintah berikut akan mencantumkan semua file yang berisi kata "Halo" di direktori Documents. Pada output di bawah ini, Anda dapat melihat jalur file bersama dengan kata-kata yang cocok.
$ grep -R “Hello” /home/maryam/Documents
Mencetak baris tertentu sebelum/sesudah kata yang cocok
Secara default, Grep hanya mencetak garis yang cocok dengan pola tertentu. Dengan -A di Grep, Anda juga dapat memasukkan beberapa baris sebelum atau sesudah kata yang cocok.
Mencetak garis setelah pertandingan
Untuk mencetak baris yang berisi kata-kata yang cocok termasuk N jumlah baris setelah pertandingan:
$ grep -A <N> <word> <filename>
Misalnya, perintah berikut akan mencetak baris yang berisi kata “neraka” bersama dengan 1 baris setelahnya.
$ grep -A 1 hell Donuts.txt
Mencetak garis sebelum pertandingan
Untuk mencetak baris yang berisi kata-kata yang cocok termasuk N jumlah baris sebelum pertandingan:
$ grep -B <N> <word> <filename>
Misalnya, perintah berikut akan mencetak baris yang berisi kata “neraka” bersama dengan 1 baris sebelumnya.
$ grep -B 1 hell Donuts.txt
Mencetak baris sebelum dan sesudah pertandingan
Untuk mencetak baris yang berisi kata-kata yang cocok termasuk N jumlah baris sebelum dan sesudah pertandingan:
$ grep -C <N> <word> <filename>
Misalnya, perintah berikut akan mencetak baris yang berisi kata “neraka” beserta 1 baris sebelum dan sesudahnya.
$ grep -C 1 hell Donuts.txt
Menghitung jumlah kecocokan
Menggunakan -c opsi dengan grep, Anda dapat menghitung garis yang cocok dengan pola tertentu. Ingat, itu hanya akan cocok dengan jumlah baris, bukan jumlah kata yang cocok.
$ grep -c <word> <filename>
Misalnya, perintah berikut mencetak jumlah baris yang berisi kata “Donat”.
$ grep -c Donuts Donuts.txt
Perhatikan bahwa file kita “Donuts.txt” berisi 4 “Donat”, tetapi -c hanya mencetak hitungan sebagai 3. Itu terjadi karena ia menghitung jumlah baris, bukan jumlah kecocokan.
Untuk informasi lebih lanjut tentang grep, gunakan perintah di bawah ini:
$ grep --help
atau kunjungi halaman manual menggunakan perintah di bawah ini:
$ man grep
Ini akan membawa Anda ke halaman manual Grep.
Itu saja! Dalam posting ini, kami telah menjelaskan sintaks dasar dan penggunaan perintah grep di Linux. Kami juga melalui beberapa opsi baris perintah untuk memperluas kegunaannya. Jika Anda mengetahui beberapa kegunaan lain dari perintah Grep di Linux yang kami lewatkan, kami ingin mengetahuinya melalui komentar di bawah.
Jelajahi artikel terkait ini untuk mengetahui bagaimana Anda dapat menemukan file dan direktori di Linux.