Bashプログラミングでは、変数(たとえば)が与えられると、シンボルを含む文字列が格納されますvarA
。この値が含まれていると#
仮定すると、前にバックスラッシュを追加する必要があるため、出力には次のものを含めることができます。次のコードは、文字列置換が機能しないようで、sedコマンドの出力を他の変数に割り当てることができないことを除いて、私の目標を達成するのに効果的です。これを見ましたか?varA
ASD# 1
\
#
ASD\# 1
varA="ASD# 1"
echo $(sed s/\#/\\#/g <<< ${varA})
答え1
式に引用符がありませんsed
。
努力する:
$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1
答え2
sed
変数を1つだけ使用するとオーバーヘッドが発生します。あなたがbash
使用できる${varA/\#/\\\#}
。