我在UNIX系统中有一个文件。它是一个大约100 MB的大文件。它是一个XML文件。有一个特定的XML标记:
<XYZ> 5,434 </XYZ>
它包含一个逗号,我需要删除它。
我应该如何使用UNIX命令执行此操作?
答案 0 :(得分:1)
使用XMLStarlet从与名为XYZ
的元素关联的文本节点中删除逗号:
xmlstarlet ed \
-u "//XYZ[contains(., ',')]" \
-x "translate(., ',', '')" \
<input.xml >output.xml
此处使用的功能 - contains()
和translate()
- 在XPath 1.0 specification中定义。