İle grep, bir kalıpla eşleşen ve başka bir kalıpla eşleşmeyen tüm satırları seçmek istiyorum. Seçeneği (veya , veya ) kullanabilmem için tek bir çağırma grepözelliğini kullanmak istiyorum .--after-context--before-context--context
-vBurada geçerli değil, çünkü seçeneği grepkullanarak geçirdiğim tüm desenleri reddediyor -e.
Misal
Aşağıdaki bağlamda bir satır ile needleeşleşen satırları ignore me, satır eşleşen görmezden bakmak istiyorum .
İşte girdi dosyam:
one needle ignore me
two
three
four needle
five
İstediğim çıktı:
four needle
five
Gördüğünüz gibi, bu naif çözüm işe yaramıyor:
$ cat file | grep --after-context=1 needle | grep -v 'ignore me'
two
---
four needle
five
ack