Ich habe den folgenden sedBefehl erfolgreich verwendet, um Text unter Linux zu suchen / zu ersetzen:
sed -i 's/old_link/new_link/g' *
Wenn ich es jedoch unter Mac OS X versuche, erhalte ich Folgendes:
"Befehl c erwartet \ gefolgt von Text"
Ich dachte, auf meinem Mac läuft eine normale BASH-Shell. Was geht?
BEARBEITEN:
Laut @High Performance liegt dies daran, seddass der Mac eine andere (BSD) Variante hat. Meine Frage wäre daher, wie ich diesen Befehl in BSD repliziere sed.
BEARBEITEN:
Hier ist ein aktuelles Beispiel, das dies verursacht:
sed -i 's/hello/gbye/g' *
sedein "c" in Ihren Daten als Befehl angezeigt wird. Verwenden Sie eine Variable? Bitte posten Sie etwas, das den tatsächlichen Befehl und einige Daten, die Sie verarbeiten, genauer darstellt. Sie können eine einfache Demonstration dieses Fehlers erhalten, indem Sie dies tunecho x | sed c.