まず第一に、LiKao"が言ったように余分な sは必要ありません。次に、sed が何を何に置き換えるかを理解する方法を知る必要があります。
s/this/that/flags
これは、追加のフラグで置換することthisを意味しますthat(たとえば、すべてのg場所を意味します)。実際、は特殊文字ではありません。scaiが言ったよう/に、他の文字を使用できます。#
s#this#that#flags
しかし、何が問題だったのですか?に置き換えたいと想像してthisくださいth/at。次に、sedはこれを見ます:
s/this/th/at/flags
そして当然混乱します。に置き換えようとしてthisいthますか? とはどういうat/flags意味ですか? に置き換えようとしてthis/thいatますか? それともthis一緒th/atですか?言う方法はありません。
そのため、特殊文字を . でエスケープする必要があります\。区切り文字として使用/したため、区切り文字でない場合はエスケープする必要があります。
sed 's/<!-- CordovaVersion -->/<script src="cordova-1.7.0.js" type="text\/javascript"><\/script>/g' junk4 > junk4_modified
(もちろん、 # と内部を使用した場合、thisまたはthatがあった#場合はエスケープする必要があります#)
特殊文字を含むsedの詳細については、こちらを参照してください。