【发布时间】:2017-02-13 13:30:00
【问题描述】:
我需要更改 XML 标记中的日期格式。我已经在命令行中编写了 awk 来查找替换日期格式 - echo '2012-01-13' | awk -v FS=- -v OFS=/ '{print $2,$3,$1}' 。但不确定如何在 XML 中继续使用它..
使用的 XML
<OrderNbr>136642</OrderNbr>
<CustomerName>MIKE</CustomerName>
<CustomerType>NEW</CustomerType>
<DateOfBirth>1986-09-03</DateOfBirth>
<LastUpdated>2012-03-28 00:01:02.133</LastUpdated>
需要跨 XML 更改 DoB 格式。
预期输出:
<OrderNbr>136642</OrderNbr>
<CustomerName>MIKE</CustomerName>
<CustomerType>NEW</CustomerType>
<DateOfBirth>09/03/1986</DateOfBirth>
<LastUpdated>2012-03-28 00:01:02.133</LastUpdated>
【问题讨论】:
-
不要那样做。如果输入是有效的 XML(您的示例不是),则使用 XML 感知工具,如
xmlstarlet或xsltproc。其次,您不应该将完美的日期格式转换为愚蠢的日期格式。