変数に "/"が含まれているときにsedを使用する方法は?

変数に

スクリプトで実行して上記の2行を削除するには、次の行があります。しかし、今私の$ TEST変数には「/ DATA / test10」などの値が含まれ、私の変数IDには「10」が含まれます。 sedでどのように使用できますか?

sed -i ":a;N;s/\n/&/2;Ta;/path = $TEST\/$ID/s/.*//;P;D" /collection.txt

ベストアンサー1

欲しいなら文字列をリテラルとして扱うsedすでに答えがあります。

escaped_testx="$(sed -e 's/[\/&]/\\&/g' <<< "$TEST"; echo x)"
escaped_test="${escaped_testx%x}"

追加x可能末尾の改行処理、そうでない場合は、コマンド置換によって削除されます。

おすすめ記事