İ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
-v
Burada geçerli değil, çünkü seçeneği grep
kullanarak geçirdiğim tüm desenleri reddediyor -e
.
Misal
Aşağıdaki bağlamda bir satır ile needle
eş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