在awk命令中替换变量

时间:2015-12-14 06:05:48

标签: xml awk xml-parsing substitution

我正在使用和awk命令更新xml中的标记。下面是xml文件中的标记

<ApplicationURL>http://localhost.com</ApplicationURL>

我的awk命令就像

$appurl=http://remotehost.com

awk -F'<|>' '/<ApplicationURL>[^<>]+<\/ApplicationURL>/{sub($3,"$appurl")}1'  myxml.xml

我的输出没有替换变量。它直接将其作为字符串。你能告诉我哪里出错了。

输出:

<ApplicationURL>$appurl</ApplicationURL>

期望的输出应该替换变量值

1 个答案:

答案 0 :(得分:0)

appurl = http://remotehost.com

使用内部变量。选项-v允许在命令行分配变量

awk -F'<|>' -v "MyVar=${appurl}" '/<ApplicationURL>[^<>]+<\/ApplicationURL>/{sub($3,MyVar)}1'  myxml.xml