前提
sed でファイルの中身を置き換える処理をシェルで行っています。
その際に変数に格納された文字列の中に&が入っていた場合に置換後
の文字列の中に置換前の文字列が入ってしまします。
現在の状況
変数 $test に hoge&huga という文字列が格納されていると仮定し
test.txt には aa という文字だけが書かれているとした場合
sed s/aa/$test/g test.txt を行うと
test.txt の中身は hogeaahuga となってしまう
実現したいこと
sed の仕様として & は上記の処理になるのは正しいことは理解しているのですが
随時変わる変数の中に & 等のメタ文字が混入している場合にエスケープ処理をする
ことはできないでしょうか?
どなたか詳しい方、ご教授お願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/31 12:44