धन्यवाद आप एक नियमित अभिव्यक्ति की बस मिलान वाला पाठ प्राप्त करना चाहते हैं, मैं
grep -o 'regex' file
का प्रयोग करेंगे अपने कोड की भावना में मैं इसे संशोधित करेगा होने की
while read line; do
[[ $line =~ regex ]] || continue
# do somethinw with $line or $BASH_REMATCH, perhaps put it in an array.
done < file
यदि आप एक ही पंक्ति पर एकाधिक regexes से मेल खाना चाहते हैं, तो यहां एक तरीका है।
while read line; do
# do somethinw with $line
done < <(grep -o 'regex' file)
मुझे लगता है कि आपका रेगेक्स आपके वास्तव में क्या कर रहा है इसका एक सरल उदाहरण माना जाता है। द? सहायक नहीं है और आपके उद्धरण एक शाब्दिक स्ट्रिंग से मेल खाते हैं।
स्रोत
2009-03-13 10:41:44
क्या आप को जोड़ने का मतलब है? पैटर्न के अंत में? – Richard