次へ追加

次へ追加

文字列をエスケープされた引用符を含む他の文字列に置き換えます。

echo "replace FOO" | sed -e "s~FOO~test\\\"test~g"

私が期待したのはreplace test\"test。代わりに私はそれを見たreplace test"test

sedエスケープシーケンスをどのように含めることができますか?

ベストアンサー1

バックスラッシュは二重引用符内のエスケープ文字と代替文字ですsed。だから、sedはそれが何を意味するのかを知ることができ"\\\""ます\""

一重引用符を試してください。

echo "replace FOO" | sed -e 's~FOO~test\\"test~g'

または二重エスケープ:

echo "replace FOO" | sed -e "s~FOO~test\\\\\"test~g"

おすすめ記事