AWK
का उपयोग करना, मुझे विशिष्ट क्षेत्र में एक विशिष्ट शब्द के साथ प्रिंट लाइनों से बचने की आवश्यकता है .. किसी को फोन करने से पहले यह डुप्लिकेट है, मैंने खोज की है, और यह पाया:, लेकिन मुझे लगता है कि यह अन्य संदर्भ है, क्योंकि यहां मुझे एक विशिष्ट कॉलम में मिलान की आवश्यकता है।
डेटा को देखते हुए:
एबीसी एबीसी एएफ़सी एएएए एएचएसी एबीसी
मैं केवल पाठ के साथ पूर्ण लाइनों को प्रिंट करने के लिए फ़िल्टर करना चाहता हूं मुट्ठी क्षेत्र में एबीसी युक्त (पंक्ति 2 और 3)।
पहली कोशिश के रूप में, मैंने लेकिन कुछ भी नहीं लौटा। दूसरा प्रयास करें ... अभिव्यक्ति से पहले का उपयोग नहीं करते मुझे समझ नहीं आ रहा है कि क्यों ... तो एक और शॉट विफल (जैसा कि इस समय अपेक्षित है): जैसा कि इस बार अपेक्षित था, दूसरा क्षेत्र भी फ़िल्टर किया गया था ऐसा लगता है कि यह केवल तब मैंने अपना होमवर्क किया और इसे इस तरह से काम किया: वैसे भी, यह मेरे लिए एक वैकल्पिक हल दिखता है, और मेरे पास एक बुरा लग रहा है कि मैं सही तरीके से नहीं कर रहा हूं। कोई बेहतर तरीके से जानता है, या कम से कम समझाएं कि पहली और दूसरी कोशिश क्यों नहीं करती? (?! ...)
की कोशिश की और DEF
और GHI < / कोड>:
गूंज-ए "एबीसी \ tABC \ nDEF \ tAAA \ nGHI \ tABC" | Awk '$ 1 ~ / (? एबीसी) / {प्रिंट}'
! /.../
:
~ $ echo -e "एबीसी \ tABC \ nDEF \ tAAA \ nGHI \ tABC" |
~ $ echo -e "एबीसी \ tABC \ nDEF \ tAAA \ nGHI \ tABC" | Awk '! / एबीसी / {प्रिंट}' डीएएफ एएए
$ 0
के लिए काम करता है।
~ $ echo - ई "एबीसी \ tABC \ nDEF \ tAAA \ nGHI \ tABC" | Awk '{FL = $ 0; $ 0 = $ 1}; ! / एबीसी / {प्रिंट FL}; {$ 0 = FL} 'डीईएफ एएए गही एबीसी
आप निम्न मुहावरे का उपयोग कर सकते हैं:
awk '$ 1! ~ / ABC /' फ़ाइल
अगर पहले फ़ील्ड में एबीसी
लाइन प्रिंट हो जाती है ( मेल नहीं खाता ऑपरेटर ! ~
है)। ध्यान दें कि आदेश में केवल एक शर्त है और कोई प्रिंट
कार्रवाई नहीं है यह awk
है प्रिंट
में डिफ़ॉल्ट क्रिया के बाद से काम कर सकता है और इसलिए उसे स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता नहीं है।
No comments:
Post a Comment