से किसी प्रॉपर्टी फ़ाइल में एक संपत्ति मान संपादित करें शीर्षक सभी कहते हैं। मुझे एक संपत्ति मूल्य को प्रतिस्थापित करने की आवश्यकता है जिसे मैं एक अलग मूल्य के बारे में नहीं जानता। मैं इस कोशिश कर रहा हूँ:शेल स्क्रिप्ट
#!/bin/bash
sed -i "s/myprop=[^ ]*/myprop=$newvalue/g" file.properties
मैं मिल sed: -e expression #1, char 19: unknown option to
s'`
मुझे लगता है कि समस्या यह है कि $newvalue
एक स्ट्रिंग है कि एक निर्देशिका का प्रतिनिधित्व करता है तो यह sed को खराब करता है।
मैं क्या कर सकता हूं?
'/' सिर्फ 'sed' के लिए हमेशा की तरह (लेकिन अनिवार्य नहीं) सीमांकक है। क्या होता है यदि आप कुछ और कोशिश करते हैं, जैसे पाइप ('|')? –
@DanFego काम किया! मुझे यह महसूस करने में लंबा लगा कि मेरी var स्ट्रिंग में '/' समस्या थी। भूल गए कि आप sed delimiter स्विच कर सकते हैं। धन्यवाद – Michael
आप 'जी' संशोधक का उपयोग क्यों करते हैं? कुछ seds के लिए – fge