在 awk 命令中替换变量

substitute variable in awk command

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

中的标签
<ApplicationURL>http://localhost.com</ApplicationURL>

我的 awk 命令是这样的

$appurl=http://remotehost.com

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

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

输出:

<ApplicationURL>$appurl</ApplicationURL>

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

appurl=http://remotehost.com

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

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