【发布时间】:2017-12-03 05:52:28
【问题描述】:
我正在尝试使用 sed 命令替换 xml 文件中的字符串。我的脚本包含以下代码。
SEARCH='key="identifierA" value ="000000 00:00:00"'
REPLACE='key="identifierA" value ="101617 00:00:00"'
TEST_DIR=home/test/
TEST_FILE="test.xml"
ChangeXml(){
ModifyValue $TEST_DIR $TEST_FILE $SEARCH $REPLACE
}
ModifyValue (){
cd $1
echo "Search : $3 Replace : $4 "
sed -i "s/$3/$4/g" $2
}
#Actions performed
ChangeXml
但是 echo 中的这个 #3 返回 identifierA 并且 $4 返回 000000 00:00:00。它应该给出分配给这些变量的值。由于此替换未按预期工作。试图转义 key="identifierA" value ="000000 00:00:00" 之间的空格。但没有得到结果。我对 shell 脚本非常陌生。谁能告诉我原因并纠正我以达到预期的结果?
【问题讨论】: