(4 Antworten)
Vor 5 Jahren geschlossen.
Ich möchte sed
verwenden um einen Schrägstrich in einen Backslash und einen Schrägstrich zu ändern, also /
-> /
. Aber es funktioniert nicht. Hier ein kleines Beispiel:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
Die Ausgabe der ersten drei Zeilen ist wie angenommen. Aber das letzte funktioniert nicht. Wieso den? Wie korrigiere ich den letzten Teil?
Akzeptierte Antwort:
Verwenden Sie einfache Anführungszeichen für den verwendeten Ausdruck:
sed 's///\//g'
In doppelten Anführungszeichen hat eine besondere Bedeutung, also müssen Sie es mit einem Backslash versehen:
sed "s///\\//g"
Aber es ist sauberer, das Trennzeichen zu ändern:
sed 's=/=\/=g'
sed "s=/=\/=g"