यह स्क्रिप्ट सभी "" को "नए सामान" में बदलने के लिए sed का उपयोग करता है। Yyy के बाद केवल "" कैसे परिवर्तित होगा: sed या किसी अन्य चीज़ का उपयोग करना?
cat >sample.txt <<EOF
xxx:
""
yyy:
""
}
EOF
sed --expression='s/""/"new stuff"/' sample.txt
यह स्क्रिप्ट सभी "" को "नए सामान" में बदलने के लिए sed का उपयोग करता है। Yyy के बाद केवल "" कैसे परिवर्तित होगा: sed या किसी अन्य चीज़ का उपयोग करना?
cat >sample.txt <<EOF
xxx:
""
yyy:
""
}
EOF
sed --expression='s/""/"new stuff"/' sample.txt
जवाबों:
मैं आपके प्रश्न को नहीं समझ सकता। यदि आप 'yyy' के बाद केवल मान को बदलना चाहते हैं तो पिछले उत्तर का उपयोग करें। यदि आप 'yyy' के बाद किसी भी मान को बदलना चाहते हैं, तो इस एक-लाइनर को आज़माएँ:
sed --expression='/yyy/,$ s/""/"new stuff"/g' sample.txt
यह परीक्षण नहीं किया गया है: डी ...
उत्तर O’Reilly से चमकता हुआ - Sed और Awk 2nd Addiction लगभग पृष्ठ 152
किसी फ़ाइल में एक स्क्रिप्ट लिखें
/yyy\:$/{
N
s/yyy\:\n\"\"/yyy\:\
\"new stuff\"/
}
इसे हमेशा के लिए अपने डेटा पर लागू करें
sed -f स्क्रिप्ट sample.txt
यह लिपि कहती है कि देखो: जब पाया गया कि पैटर्न बफर में एक और लाइन (स्टार ट्रेक ट्रांसपोर्टर जैसी लगती है)। अब शामिल लाइनों पर / कमांड के रूप में करें। इसलिए हम yyy: newline "" की तलाश कर रहे हैं। यदि yyy के साथ प्रतिस्थापित पाया जाता है: तो "new stuff" पर वास्तविक सूचना का बैकस्लैश करें
सौभाग्य