2011-02-08 5 views
5

मैं अजीब के लिए नया हूं, और मुझे यह पता लगाना प्रतीत नहीं होता है। नियमित अभिव्यक्ति का उपयोग करके मैं एक ही क्षेत्र में कैसे स्थानांतरित कर सकता हूं?अजीब स्टम्पर: एक क्षेत्र के भीतर रेगेक्स प्रतिस्थापन

perl में, मैं एक चर के लिए रुचि के क्षेत्र को असाइन कर सकता हूं, फिर $myvar =~ s/foo/bar/g। बेशक भी perl में मुझे अपना खुद का क्षेत्र प्रबंधन करना है, और यह अजीब में आसान है।

अभी इस मुद्दे के लिए, यह यूरोपीय धन रिकॉर्ड है और मैं राशि क्षेत्र में अल्पविरामों को बदलना चाहता हूं। लेकिन मुझे केवल उस क्षेत्र को लक्षित करने की ज़रूरत है, इसलिए मैं उन अन्य क्षेत्रों में उलझन नहीं डालता जहां अल्पविराम विराम चिह्न के रूप में अल्पविराम का उपयोग किया जा सकता है।

क्या समाधान की तुलना में समाधान अधिक कठिन है? या आसान? क्या मुझे रिकॉर्ड विभाजक या कुछ ऐसा करने की ज़रूरत है?

आपकी मदद के लिए धन्यवाद!

उत्तर

6

उप() एक तीसरा तर्क जो क्षेत्र (या चर) बदलने के लिए है स्वीकार करता है:

$ echo '02/08/2011 7,33 Shopping' | awk '{sub(/,/,".",$2)} 1' 
02/08/2011 7.33 Shopping 
+0

वाह, यकीन नहीं कैसे मैं अपने ओ रेली में है कि याद किया। वो रहा। सभी नाइटर होना चाहिए। धन्यवाद! – rockriver