この質問にはすでに回答があります :shスクリプトでsedを使用する場合、どの文字をエスケープする必要がありますか?
(4つの回答)
5年前に閉鎖されました。
Linux
(4つの回答)
5年前に閉鎖されました。
sed
を使いたい スラッシュを円記号とスラッシュに変更します。つまり、/
-> /
。しかし、それは機能しません。ここに小さな例があります:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
最初の3行の出力は想定どおりです。しかし、最後のものは機能しません。なんで?最後の部分を修正するには?
承認された回答:
使用した式には一重引用符を使用してください:
sed 's///\//g'
二重引用符で囲んで、 特別な意味があるので、バックスラッシュする必要があります:
sed "s///\\//g"
ただし、区切り文字を変更する方がクリーンです:
sed 's=/=\/=g'
sed "s=/=\/=g"