Was die Anleitung betrifft:
sed -i 's|/group/dairy/phuongho/garuns/out|$XXX/out/' exp/garuns.vpz
Können Sie mir bitte sagen, was daran falsch ist? Da ich den im Titel der Frage angegebenen Fehler erhalten habe.
Antwort1
Wie die Fehlermeldung schon sagt, fehlt Ihnen das Finale, |
um den s
Befehl zu beenden:
sed -i 's|/group/dairy/phuongho/garuns/out|$XXX/out/|' exp/garuns.vpz
^
Beachten Sie, dass, da Sie einfache Anführungszeichen verwenden, $XXX
wörtlich in die Datei eingesetzt wird. Wenn Sie den Wert desVariable XXX
, verwenden Sie stattdessen doppelte Anführungszeichen ( sed -i "..."
).
Außerdem haben Sie im Muster einen führenden Schrägstrich, aber keinen abschließenden Schrägstrich, und beim Ersetzen ist es umgekehrt. (Das ist vielleicht auch das, was Sie wollen, aber es scheint seltsam.)