इसके साथ grep
, मैं एक पैटर्न से मेल खाने वाली सभी लाइनों का चयन करना चाहता हूं, और यह दूसरे पैटर्न से मेल नहीं खाता है। मैं एक एकल आह्वान का उपयोग करने में सक्षम होना चाहता हूं grep
ताकि मैं --after-context
विकल्प (या --before-context
, या --context
) का उपयोग कर सकूं ।
-v
यहां व्यवहार्य नहीं है, क्योंकि यह विकल्प grep
का उपयोग करने के लिए मेरे द्वारा पारित सभी पैटर्न को नकारता -e
है।
उदाहरण
मैं निम्नलिखित संदर्भों की एक पंक्ति के साथ, needle
मेल खाते हुए रेखाओं की अनदेखी करते हुए, लाइनों की तलाश करना चाहता हूं ignore me
।
यहाँ मेरी इनपुट फ़ाइल है:
one needle ignore me
two
three
four needle
five
मुझे जो आउटपुट चाहिए वह है:
four needle
five
जैसा कि आप देख सकते हैं, यह भोला समाधान काम नहीं करता है:
$ cat file | grep --after-context=1 needle | grep -v 'ignore me'
two
---
four needle
five
ack