Cara Menggunakan grep untuk Menampilkan Baris yang Mengelilingi Setiap Pencocokan?

Ketika berbicara tentang pencarian dalam file di sistem operasi Linux atau yang mirip Unix, grep adalah utilitas baris perintah yang tak ternilai. Namun, terkadang Anda memerlukan lebih dari sekadar baris yang cocok; Anda ingin melihat konteks di sekitar kecocokan tersebut. Pos blog ini akan memandu Anda tentang cara menampilkan baris sebelumnya dan sesudahnya yang mengelilingi setiap baris yang cocok dengan menggunakan grep.

Masalah

Anda memiliki sebuah file dan ingin mencari istilah atau pola tertentu. Menemukan kecocokan tersebut saja tidak cukup – Anda juga ingin melihat baris yang muncul sebelum dan setelah baris yang cocok. Misalnya, jika Anda sedang memantau file log untuk pesan kesalahan tertentu, konteks di sekitar kesalahan tersebut bisa sama pentingnya.

Solusi

Menggunakan Opsi -B dan -A

Dalam grep, Anda dapat menggunakan flag -B dan -A untuk mengontrol berapa banyak baris sebelum dan setelah setiap pencocokan yang ingin Anda lihat:

  • -B num: Opsi ini menentukan jumlah baris yang ditampilkan sebelum baris yang cocok.
  • -A num: Opsi ini menentukan jumlah baris yang ditampilkan setelah baris yang cocok.

Contoh Perintah

Untuk menggambarkan, misalkan Anda ingin mencari kemunculan istilah foo dalam file bernama README.txt dan Anda ingin melihat 3 baris sebelum dan 2 baris setelah setiap pencocokan. Berikut adalah cara Anda mengatur perintah Anda:

grep -B 3 -A 2 foo README.txt
  • Apa yang dilakukan perintah ini:
    • Mencari kata kunci foo di README.txt.
    • Menampilkan 3 baris yang mengarah ke setiap kemunculan foo.
    • Menampilkan 2 baris setelah setiap kemunculan.

Menggunakan Opsi -C

Jika Anda ingin menampilkan jumlah baris yang sama sebelum dan setelah setiap pencocokan, grep juga memiliki opsi yang nyaman untuk itu:

  • -C num: Opsi ini memungkinkan Anda untuk menentukan berapa banyak baris yang akan ditampilkan baik sebelum dan setelah baris yang cocok.

Contoh Perintah

Untuk menampilkan 3 baris baik sebelum maupun setelah setiap pencocokan dari foo, gunakan perintah berikut:

grep -C 3 foo README.txt
  • Apa yang dilakukan perintah ini:
    • Mencari foo di README.txt.
    • Menampilkan 3 baris sebelum dan setelah setiap kemunculan foo.

Kesimpulan

Menggunakan opsi -B, -A, dan -C secara efektif memungkinkan Anda untuk mengekstraksi konteks yang berarti dari pencarian Anda. Baik Anda mengatasi masalah dalam log atau hanya menganalisis file teks, kemampuan untuk melihat baris yang mengelilingi pencocokan Anda memberikan wawasan yang berharga.

Sekarang Anda tahu cara menemukan pencocokan dengan baris yang mengelilinginya menggunakan grep, coba lakukan pada pencarian file Anda berikutnya!