私は rhel5 を使用していますが、次の問題があります。特定の行のすべてのコンテンツを必要なテキストに置き換える関数があります。二重引用符を配置する必要があるまで、すべてが正常に機能します。以下はコードです:
ReplaceLine()
{
txnFile="File.xml"
if [ "$2" == "enable" ];then
replace="<ref bean=\\"$3\\"/>"
else
replace="<!--<ref bean=\\"$3\\"/>-->"
fi
sed -i "$1s/.*/$replace/" $txnFile
}
$1=line number
$2=enable/disable
$3=string to be put
現在のコードは、ファイル内の指定された行を次のように置き換えます。
<ref bean=beginEventBean/>
私が欲しいのはこれです:
<ref bean="beginEventBean"/>
二重引用符がないことに注意してください。また、変数内のスペースが原因でsedがエラーをスローしていたため、sedで二重引用符を使用しました。
どこが間違っているのかを理解するのを手伝ってください。すでにこれに何時間も費やしました。