Dalam artikel pertama kami tentang perintah grep, kami membahas beberapa fitur yang ditawarkan alat ini, termasuk bagaimana Anda dapat menggunakannya untuk hanya menelusuri kata, menelusuri dua kata, menghitung baris yang berisi kata yang cocok, dan banyak lagi. Selain itu, alat ini menyediakan beberapa fitur yang lebih mudah dipahami dan berguna. Dalam artikel ini, kita akan membahas beberapa di antaranya.
Harap dicatat bahwa semua contoh yang disebutkan dalam tutorial ini telah diuji di Ubuntu 14.04LTS. Juga, kami akan menggunakan file berikut (test_file1.txt) untuk semua contoh terkait grep kami dalam tutorial ini:
Penelusuran tidak peka huruf besar-kecil dengan Grep
Secara default, grep peka huruf besar/kecil, artinya, misalnya, grep akan memperlakukan 'ABC' dan 'abc' secara terpisah. Namun, jika Anda ingin penelusuran Anda tidak peka huruf besar-kecil, Anda dapat menggunakan -i opsi baris perintah.
grep -i [string-to-be-searched] [filename]
Misalnya:
grep -i "linux" test_file1.txt
Catatan :Tidak hanya pola (misalnya, 'linux' dalam contoh di atas), halaman manual grep mengatakan bahwa opsi -i juga memastikan bahwa sensitivitas huruf besar/kecil untuk file input juga diabaikan. Berikut petikannya:
-i, --ignore-case
Ignore case distinctions in both the PATTERN and the input files. (-i is specified by POSIX.)
Namun, kami tidak dapat mereproduksi perilaku terkait file masukan di pihak kami.
Menampilkan baris tertentu yang tidak cocok dengan baris yang berisi string yang cocok di Grep
Dengan menggunakan alat ini, Anda juga dapat menampilkan sejumlah baris tertentu setelah, sebelum, atau di sekitar garis yang berisi string yang cocok.
Gunakan -A opsi baris perintah untuk mencetak baris 'N' setelah baris yang cocok.
$ grep -A N [string-to-be-searched] [filename]
Misalnya:
$ grep -A 2 "linux" test_file1.txt
Berikut adalah output dari perintah di atas
Demikian pula, opsi baris perintah -B digunakan untuk menampilkan baris sebelum baris yang cocok.
$ grep -B N [string-to-be-searched] [filename]
Misalnya:
$ grep -B 2 "linux" test_file1.txt
Berikut adalah outputnya:
Terakhir, untuk mencetak garis di sekitar garis yang cocok, gunakan opsi baris perintah -C.
$ grep -C N [string-to-be-searched] [filename]
Misalnya:
$ grep -C 2 "linux" test_file1.txt
Berikut adalah output yang diambil:
Hanya mencetak string yang cocok di Grep
Anda juga diperbolehkan untuk hanya mencetak string yang cocok pada output standar (bukan baris lengkap yang ditampilkan secara default). Fitur ini dapat diakses menggunakan opsi baris perintah -o.
$ grep -o [string-to-be-searched] [filename]
Misalnya, jika persyaratannya adalah menelusuri string "linux" dalam file (tetapi baris lengkap tidak boleh dicetak), maka kita akan menggunakan perintah berikut.
$ grep -o "linux" [file-name]
Kita juga dapat menggunakan karakter wildcard seperti * dan .* untuk mengambil lebih dari satu string. Sebagai contoh, jika kita ingin mengambil sekelompok kata yang dimulai dari "how" dan diakhiri dengan "linux", maka kita dapat menggunakan perintah berikut.
$ grep -o “how.*linux” [file-name]
Tampilkan posisi di Grep
Perintah grep juga memungkinkan Anda untuk menampilkan byte-offset dari baris di mana string yang cocok muncul. Fitur ini dapat diakses menggunakan opsi baris perintah -b. Tetapi untuk penggunaan yang lebih baik dari opsi ini, Anda dapat menggunakannya dengan opsi baris perintah -o, yang akan menampilkan posisi yang tepat dari string yang cocok.
$ grep -o -b [string-to-be-searched] [filename]
Misalnya:
$ grep -o -b "for" test_file1.txt
Berikut adalah outputnya:
Kesimpulan
Anda mungkin tidak memerlukan semua opsi ini setiap hari, tetapi setidaknya Anda harus mengetahuinya karena Anda tidak pernah tahu kapan opsi ini akan berguna. Grep menjadi lebih kuat saat digunakan dengan ekspresi reguler, tetapi kita akan meninggalkan topik itu untuk beberapa hari lagi.