sed: -e Ausdruck Nr. 1, Zeichen 44: nicht beendeter „s“-Befehl

sed: -e Ausdruck Nr. 1, Zeichen 44: nicht beendeter „s“-Befehl

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 sBefehl zu beenden:

sed -i 's|/group/dairy/phuongho/garuns/out|$XXX/out/|' exp/garuns.vpz
                                                    ^

Beachten Sie, dass, da Sie einfache Anführungszeichen verwenden, $XXXwö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.)

verwandte Informationen