【发布时间】:2018-08-24 22:44:21
【问题描述】:
我正在尝试使用 AWK 脚本根据条件更新 xml 文件。有人可以帮我解决这个问题吗?
students.xml
<students>
<student>
<stuId>1</stuId>
<name>A</name>
<mark>75</mark>
<result></result>
</student>
<student>
<stuId>2</stuId>
<name>B</name>
<mark>35</mark>
<result></result>
</student>
<student>
<stuId>1</stuId>
<name>C</name>
<mark>94</mark>
<result></result>
</student>
</students>
到目前为止我尝试过的代码
我可以使用以下代码提取标签值
BEGIN { RS="<[^>]+>" }
{ print RT, $0 }
这会按预期打印所有标签和值。
我想将<result> 标记更新为 pass if marks > 40 else fail
输出
<students>
<student>
<stuId>1</stuId>
<name>A</name>
<mark>75</mark>
<result>pass</result>
</student>
<student>
<stuId>2</stuId>
<name>B</name>
<mark>35</mark>
<result>fail</result>
</student>
<student>
<stuId>1</stuId>
<name>C</name>
<mark>94</mark>
<result>pass</result>
</student>
</students>
有人可以帮我解决这个问题吗?
【问题讨论】:
-
给新手的建议:如果一个答案解决了您的问题,请点击旁边的大复选标记 (✓) 接受它,也可以选择投票(投票至少需要 15 个声望)点)。如果您发现其他答案有帮助,请给他们投票。接受和投票有助于未来的读者。请参阅[相关帮助中心文章][1] [1]:stackoverflow.com/help/someone-answers
-
抱歉回复晚了。是的,它确实。我正在将此示例方法用于实际实施,希望它在那里有效。如果我在那里遇到任何问题,我会告诉你的。再次感谢大家