So fügen Sie Schrägstriche in vi Search & Replace ein


74

Ich habe eine Datei, die die Zeichenfolge enthält usrbin. Ich möchte danach suchen usrbinund es durch ersetzen /usr/bin/.

Ich habe es versucht :%s/usrbin/usr/bin/g, aber es zeigt Fehler E488: Trailing characters.

Wie füge ich einen Schrägstrich in eine Suche ein und ersetze ihn?



Antworten:


113

Hier sind zwei Möglichkeiten:

  • Escape das, /was das Standard-Ersatztrennzeichen ist::s/usrbin/\/usr\/bin
  • Verwenden Sie ein anderes Ersatztrennzeichen, z. B. das Hash- #Zeichen : :s#usrbin#/usr/bin. Beachten Sie, dass es gibt Zeichen , dass Sie nicht als Trennzeichen verwenden können: ", \,|

1
danke @CiroSantilli 包子 露 宪 六四 事件 法轮功! Ich habe Änderungen hinzugefügt. Kommentar, wenn Sie an andere Zeichen denken können, die nicht als alternative Trennzeichen verwendet werden können
— pb2q

Gute Antwort, dies ist ideal, wenn Sie einen langen URL-Wert ersetzen möchten, da es überhaupt keinen Spaß macht, all diesen Schrägstrichen zu entkommen
— jurgenb

Es gibt Probleme mit | (Pipe) als Trennzeichen beim Ersetzen von Backslashes wie "PATH = C: \ Windows \ System32; C: \ Temp; C: \ Users" über: s | \\ | / | g, aber ich habe nie herausgefunden, warum ich es gerade getan habe Verwenden Sie stattdessen # als Trennzeichen
— Kajukenbo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.