Sunday, 15 September 2013

unix - grep for a string in a line if the previous line doesn't contain a specific string -


मेरे पास फाइल में निम्न पंक्तियाँ हैं:

  abcdef ghi jkl uvw xyz   

मैं "xyz" स्ट्रिंग के लिए grep चाहता हूं अगर पिछली पंक्ति में स्ट्रिंग "jkl" नहीं है।

मुझे पता है कि स्ट्रिंग के लिए grep कैसे होगा अगर लाइन इसमें -v विकल्प का उपयोग कर एक विशिष्ट स्ट्रिंग शामिल नहीं है लेकिन मुझे नहीं पता कि यह अलग-अलग लाइनों के साथ कैसे करें।

grep वास्तव में एक लाइन-उन्मुख उपकरण है इसे प्राप्त करना संभव हो सकता है कि आप इसके साथ क्या चाहते हैं, लेकिन इसका उपयोग करना आसान है Awk:

  awk '/ xyz / & amp; amp;  
  • यदि मौजूदा लाइन से मेल खाता है

    के रूप में पढ़ें: > Xyz और हमने अभी jkl को प्रिंट नहीं किया है;

  • यह निर्धारित करने के लिए कि हम अभी हैं, वैरिएबल skip सेट करें देखा jkl

No comments:

Post a Comment