Ich weiß, dass diese Frage schon einmal gestellt wurde, aber ich habe Probleme, die Antworten zu verstehen, die ich gefunden habe. Grundsätzlich möchte ich
verwendensed -i 's/string//some/directory/g' file.txt
und ich kann keine klare Antwort darauf finden, wie man /some/directory
den sed
nicht auflösen Syntax.
Akzeptierte Antwort:
sed
erlaubt mehrere Syntaxtrennzeichen, /
nur die am häufigsten verwendete.
Genauso gut kann man sagen
sed -i 's,<string>,<some/directory>,g' file.txt
wo der ,
hat jetzt die Funktion, die normalerweise von /
ausgeführt wird , wodurch letztere von ihrer besonderen Bedeutung befreit wird.
Beachten Sie jedoch (wie von @Jeff Schaller hervorgehoben), dass jetzt die ,
darf nicht im Datei- oder Verzeichnisnamen vorkommen – und es ist ein gültiges Zeichen für Dateinamen! Diese Antwort gibt einen guten Überblick über die Vorgehensweise bei der Anwendung von sed
zu einem String mit Sonderzeichen.