का उपयोग करते हुए awk
, मुझे एक फ़ाइल में एक शब्द खोजने की आवश्यकता है जो एक रेगेक्स पैटर्न से मेल खाती है।
मैं केवल पैटर्न से मेल खाते शब्द को प्रिंट करना चाहता हूं ।
तो अगर लाइन में, मेरे पास है:
xxx yyy zzz
और पैटर्न:
/yyy/
मैं केवल प्राप्त करना चाहता हूं:
yyy
संपादित करें: kurumi के लिए धन्यवाद मैं इस तरह से कुछ लिखने में कामयाब रहा:
awk '{
for(i=1; i<=NF; i++) {
tmp=match($i, /[0-9]..?.?[^A-Za-z0-9]/)
if(tmp) {
print $i
}
}
}' $1
और यह वही है जो मुझे चाहिए :) बहुत बहुत धन्यवाद!
tmp=match($i, /regexp);if(tmp){}
, आपको बस करने में सक्षम होना चाहिए if(tmp ~ $i){}
क्योंकि ~
इसका अर्थ है "रेगेक्सप से मेल खाता है"।