Yanıtlar:
Grep, bunu (ve bunun gibi şeyleri) yapmanıza izin verecek aşağıdaki seçeneklere sahiptir. Daha fazla bilgi için kılavuz sayfasına göz atmak isteyebilirsiniz :
-A num Her eşlemeden sonra sondaki bağlamın num satırlarını yazdırır. Ayrıca -B ve -C seçeneklerine de bakın.
-B num Her eşlemeden önce önde gelen bağlamın num satırlarını yazdırır. Ayrıca -A ve -C seçeneklerine de bakın.
-C [num] Her bir eşleşmeyi çevreleyen baştaki ve sondaki bağlamın num satırlarını yazdırır. Varsayılan 2'dir ve -A2-B 2'ye eşdeğerdir. Not: seçenek ile argümanı arasında boşluk bırakılamaz.
Eşleşmenin ötesinde kaç satır çıkacağını belirtmek için -A
bağımsız değişkeni kullanın grep
.
Çizgileri eşleştirdikten sonra N satırı yazdır
Çizgileri eşleştirdikten sonra N satırı yazdırmak grep
için -A n
seçeneği kullanabilirsiniz .
Örneğin:
$ cat mytext.txt
Line1
Line2
Line3
Line4
Line5
Line6
Line7
Line8
Line9
Line10
$ grep -wns Line5 mytext.txt -A 2
5:Line5
6-Line6
7-Line7
İlgili diğer seçenekler:
Çizgileri eşleştirmeden önce N satırı yazdır
-B n
Seçeneği kullanarak satırları eşleştirmeden önce N satırı yazdırabilirsiniz.
$ grep -wns Line5 mytext.txt -B 2
3-Line3
4-Line4
5:Line5
Eşleşen satırlardan önce ve sonra N satır yazdırma
-C n
Seçeneği kullanarak , eşleşen satırlardan önce ve sonra N satırı yazdırabilirsiniz.
$ grep -wns Line5 mytext.txt -C 2
3-Line3
4-Line4
5:Line5
6-Line6
7-Line7
awk '/regex/{p=2} p > 0 {print $0; p--}' filename
- çalışıyor, senin değil.