sedコマンドでエスケープなしで置換したい

プログラミングをする人のイラスト(男性)

sedコマンドでURLなどエスケープ文字を含む文字列を置換したい場合

sed -e "s/URL/http:¥/¥/www.codelab.co.jp¥//g" in.txt > out.txt

みたいな感じにしないといけません。
ですが、入力文字列にエスケープがない場合、なんらかの方法でエスケープした文字列に変換しないといけませんが、そんなことをしなくても

sed -e "s|URL|http://www.codelab.co.jp/|g" in.txt > out.txt

こんな感じで区切り文字を他の文字に変えれば大丈夫。大抵の説明では、区切り文字にスラッシュを使ってますが、実はなんでもいいらしい。
ただ、文字列の中に区切り文字が含まれないというのが条件です。

タイトルとURLをコピーしました