Ini config फाइल के मूल्य को बदलने के लिए sed का उपयोग करना [डुप्लिकेट]

Nov 24 2020

मेरी कॉन्फ़िग फ़ाइल इस प्रकार है:

KEY1=VALUE1
URL=https://drive.google.com/uc?export=download&id=myhash
KEY3=VALUE3

मैं sedURL मान को दूसरे के साथ बदलने के लिए उपयोग करने का प्रयास कर रहा हूं । मुझे निम्नलिखित मिला:

sed -i.bak 's@URL=.*@URL=https://drive.google.com/uc?export=download&id=mynewhash@g' file.txt

लेकिन मुझे लगता है कि यह काम नहीं कर रहा है:

URL=https://drive.google.com/uc?export=downloadURL=https://drive.google.com/uc?export=download&id=mynewhash=myhash

मैं क्या खो रहा हूँ? धन्यवाद

जवाब

axiac Nov 24 2020 at 00:14

&प्रतिस्थापन स्ट्रिंग में एक विशेष चरित्र है जो sकमांड को प्रदान किया गया है sed। यह उस स्ट्रिंग का प्रतिनिधित्व करता है जो regexखोज ( URL=.*आपके उदाहरण में) से पूरी तरह से मेल खाती है ।

खुद का प्रतिनिधित्व करने के लिए इसके साथ भागने की जरूरत है \:

sed -i.bak 's@URL=.*@URL=https://drive.google.com/uc?export=download\&id=mynewhash@g' file.txt

man sedअपने डॉक्यूमेंट को पढ़ने या ऑनलाइन के डॉक्यूमेंटेशनsed को पढ़ने के लिए अपने टर्मिनल में टाइप करें ।