Escape >');} < / in sed

Escape >');} < / in sed

In 30 Dateien in 30 Verzeichnissen möchte ich Folgendes finden:

script>');} < /script>

und ersetzen Sie es durch:

script>');} < /script-->
  • Welche Sonderzeichen muss ich im Suchfeld maskieren?
  • Muss ich die gleichen Zeichen in derersetzen mitFeld?
  • Ist der Backslash die richtige Escape-Taste?

Ich werde die folgende Methode verwenden:

find . -type f -name "*.php" -exec sed -i 's/"find"/"replace_with"/g' {} +

Diese Methode hat bei einfachen Ersetzungen funktioniert.

ich leseWie kann ich eine Zeichenfolge in einer oder mehreren Dateien ersetzen?, und andere Seiten, konnte aber nicht die Antwort finden, die ich brauche.

Antwort1

Sie können verwenden sed -i "s+< /script>+< /script-->+g". Der endgültige Befehl würde also lauten:

suchen . -type f -name "*.php" -exec sed -i "s+< /script>+< /script-->+g" {} +

verwandte Informationen