grep
ile Eşleşen Her Satırın Çevresindeki Satırları Nasıl Gösterirsiniz?
Linux veya Unix benzeri bir işletim sisteminde dosyalar arasında arama yapıldığında, grep
paha biçilmez bir komut satırı aracıdır. Ancak bazen eşleşen satırlardan daha fazlasına ihtiyacınız vardır; o eşleşmelerin çevresindeki bağlamı görmek istersiniz. Bu blog yazısı, grep
kullanarak her eşleşen satırı çevreleyen önceki ve sonraki satırları nasıl göstereceğinizi size rehberlik edecektir.
Problem
Bir dosyanız var ve belirli terimler veya desenler için arama yapmak istiyorsunuz. Sadece bu eşleşmeleri bulmak yeterli değil – ayrıca eşleşen satırların önünde ve arkasında görünen satırları da görmek istiyorsunuz. Örneğin, belirli hata mesajları için bir günlük dosyasını izliyorsanız, o hataların çevresindeki bağlam da önemli olabilir.
Çözüm
-B
ve -A
Seçeneklerini Kullanma
grep
kullanarak, her eşleşme öncesinde ve sonrasında görmek istediğiniz kaç satır olduğunu kontrol etmek için -B
ve -A
bayraklarını kullanabilirsiniz:
-B num
: Bu seçenek, eşleşen satırdan önce görüntülenecek satır sayısını belirtir.-A num
: Bu seçenek, eşleşen satırdan sonra görüntülenecek satır sayısını belirtir.
Örnek Komut
Örneğin, README.txt
adlı bir dosyada foo
terimlerinin geçen yerlerini bulmak ve her eşleşmeden önce 3 satır ve sonra 2 satır görmek istediğinizi varsayalım. Komutunuzu şu şekilde yapılandırırsınız:
grep -B 3 -A 2 foo README.txt
- Bu komut ne yapar:
README.txt
içindefoo
anahtar kelimesini arar.- Her
foo
meydana gelmeden önce 3 satır gösterir. - Her meydana gelmeden sonra 2 satır gösterir.
-C
Seçeneğini Kullanma
Her eşleşme için aynı sayıda satırı göstermek isterseniz, grep
bu durum için de kullanışlı bir seçenek sunar:
-C num
: Bu seçenek, eşleşen satırdan hem önce hem de sonra gösterilecek satır sayısını belirtmenizi sağlar.
Örnek Komut
foo
teriminin her eşleşmesi için hem öncesinde hem de sonrasında 3 satır göstermek üzere aşağıdaki komutu kullanın:
grep -C 3 foo README.txt
- Bu komut ne yapar:
README.txt
içindefoo
arar.- Her
foo
meydana gelmeden önce ve sonra 3 satır görüntüler.
Sonuç
-B
, -A
ve -C
seçeneklerini etkili bir şekilde kullanmak, aramalarınızdan anlamlı bağlam çıkarmanıza olanak tanır. İster günlükler üzerindeki sorunları çözmeye çalışıyor olun, ister sadece bir metin dosyasını analiz ediyor olun, eşleşmelerinizin çevresindeki satırları görmek değerli içgörüler sağlar.
Artık grep
kullanarak çevresindeki satırlarla eşleşmeleri bulduğunuzu bildiğinize göre, bir sonraki dosya aramanızda bunu denemeye hazır olun!