0

出力をstdoutに送信させれば、問題なく機能するsedコマンドがあります。

sed  s/defaultFedoraColor/grey/ stuff.js 

ただし、-iフラグを追加してファイルを変更しようとすると

sed  -i s/defaultFedoraColor/grey/ stuff.js 

のエラーメッセージが表示されます

sed: 1: "stuff.js": unterminated substitute pattern

フラグが私の置換パターンの正当性を変えるのはなぜですか?

4

1 に答える 1

2

-iフラグはパラメータを取ります! このパラメータは、操作中のファイルに使用されるバックアップ サフィックスです。(おそらく、元のファイルのバックアップは指定されたサフィックスで作成されます。) したがって、パターンは -i のパラメーターになり、sed は "stuff.js" をパターンとして解釈しようとします。

編集:ただし、この誤った動作はまったく経験していませんが、マンページを読むと、それが問題であることが示唆されます。

別の編集:おそらく、提案されているように、パターンの周りに引用符を追加するだけです

于 2013-03-22T17:15:09.797 に答える