Verwenden von sed zum Ersetzen des Werts in der INI-Konfigurationsdatei [Duplikat]
Nov 24 2020
Meine Konfigurationsdatei sieht folgendermaßen aus:
KEY1=VALUE1
URL=https://drive.google.com/uc?export=download&id=myhash
KEY3=VALUE3
Ich versuche, sed
den URL-Wert durch einen anderen zu ersetzen. Ich bin zu folgendem gekommen:
sed -i.bak 's@URL=.*@URL=https://drive.google.com/uc?export=download&id=mynewhash@g' file.txt
Aber das scheint nicht zu funktionieren, wie ich bekomme:
URL=https://drive.google.com/uc?export=downloadURL=https://drive.google.com/uc?export=download&id=mynewhash=myhash
Was vermisse ich? Vielen Dank
Antworten
axiac Nov 24 2020 at 00:14
&
ist ein Sonderzeichen in der Ersatzzeichenfolge, die für den s
Befehl von bereitgestellt wird sed
. Es stellt die Zeichenfolge dar, die der gesamten regex
für die Suche verwendeten Zeichenfolge entspricht ( URL=.*
in Ihrem Beispiel).
Um sich selbst darzustellen, muss es entkommen mit \
:
sed -i.bak 's@URL=.*@URL=https://drive.google.com/uc?export=download\&id=mynewhash@g' file.txt
Geben Sie man sed
Ihr Terminal ein, um die Dokumentation zu lesen, oder lesen Sie die Dokumentation vonsed online.