有一个自动生成的xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<widget id="some ID" modes="max">
<icon src="icon.png"/>
<name>StackOverflow</name>
<feature name="some feature"/>
我想实现以下目标:
modes
"full"
name
${name}
<feature>
<content src="index.html"/>
和<icon>
<name>
醇>
可以这样做吗?
[添加更多背景]
这是一个主要由node.js组成的网站。此shell命令将在服务器端Javascript上运行,并将使用child_process.exec()
执行。
答案 0 :(得分:1)
由于awk
也是标准的GNU工具,我认为它可能符合您的要求。
这是一个非常简单的脚本,你可以采用。
awk '
/modes/{gsub(/modes=".*"/,"modes=\"full\"") }
/<icon/{$0=$0"\n <content src=\"index.html\"/>"}
/<name>/{gsub(/>.*</,">$name<")}
!/feature/{print}
' Your_XML_file
输出:
<?xml version="1.0" encoding="UTF-8"?>
<widget id="some ID" modes="full">
<icon src="icon.png"/>
<content src="index.html"/>
<name>$name</name>
这是我要给出的简短解释,