sed: -e 式 #1、文字 44: 終了していない 's' コマンド [閉じる]

sed: -e 式 #1、文字 44: 終了していない 's' コマンド [閉じる]

手順は次のとおりです。

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

これが何の問題なのか教えてもらえますか?質問タイトルに記載されているエラーが発生したためです。

答え1

エラーメッセージが示すように、終了|コマンドsの最後のビットがありません。

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

一重引用符を使用しているため、$XXXファイル内の文字通り置き換えられます。価値が欲しいなら変える XXX、代わりに二重引用符(sed -i "...")を使用してください。

また、パターンには先行スラッシュがありますが、後続スラッシュはなく、代替ではその逆も同様です。 (これはおそらくあなたが望むものですが、奇妙に見えます。)

関連情報