Ich habe Probleme mit der Erweiterung von Variablen und ignorieren ihre Schrägstriche.Beendet Forward-Schrägstrich in Bash-Variablen
Ich habe ein einfaches Skript geschrieben, das Text in meinem Git-Repository findet und durch anderen Text ersetzt. Das funktioniert gut, aber jetzt möchte ich es mit Regex erweitern. Dies sollte kein allzu großes Problem sein, da sowohl git grep als auch sed regex unterstützen. Wenn ich versuche, Regex in meinen Eingabevariablen zu verwenden, werden die Schrägstriche entfernt, die das Skript ruinieren.
Wenn ich git grep "\bPoint"
im Terminal laufen lasse, werde ich viele Ergebnisse bekommen. Ich kann jedoch nicht herausfinden, wie die gleichen Ergebnisse erzielt werden, wenn ich Benutzereingaben in meinem Skript verwende. Die git grep
Datei wird meine Eingabe in bPoint
statt \bPoint
ändern, und wird keine Ergebnisse finden, um sed zu geben.
#!/bin/bash
# This script allows you to replace text in the git repository without damaging
# .git files.
read -p "Text to replace: " toReplace
read -p "Replace with: " replaceWith
git grep -l ${toReplace}
# The command I want to run
#git grep -l "${toReplace}" | xargs sed -i "s,${toReplace},${replaceWith},g"
Ich habe eine Menge von verschiedenen Kombinationen von Zitaten versucht, aber nichts scheint zu funktionieren für mich.
das kein Schrägstrich ist, ist es ein Backslash. –