मैं एसएएस फाइलों के भीतर पैटर्न खोजने और बदलने के लिए sed का उपयोग कर रहा हूं, मेरे पास उन्हें व्यक्तिगत रूप से बदलने के बजाय। समस्या यह है कि मैं मैक्रो चर को बदलने की कोशिश कर रहा हूं और जब मैं एम्परसेंड का उपयोग करता हूं तो यह सही ढंग से प्रसंस्करण नहीं कर रहा है।
Here's my code:
sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas
जब भी मैं इस कमांड को चलाता हूं तो यह मूल पाठ के साथ सभी प्रकार के फंकी सामान को जोड़ने और करने के लिए लगता है।
प्रश्न: मैं ऐसे पाठ को कैसे बदलूं जिसमें एम्परसेंड में sed कमांड हो।
&
एक विशेष चरित्र है, इसलिए इसे RHS में उपयोग किए जाने से बचने की आवश्यकता होती है - आपके मामले में आपको दौड़ना होगा,'s/user=&uid./user=\&sysuserid./g'
हालांकि मुझे संदेह है कि आपको शाब्दिक बिंदु से मेल खाने के लिए LHS में डॉट से बचने की आवश्यकता है, इसलिए आपको वास्तव में ज़रूरत है's/user=&uid\./user=\&sysuserid./g'