【发布时间】:2016-03-06 05:11:37
【问题描述】:
我有一个示例 xml 文件 input.xml:
<employee>
<userid>1</userid>
<name>Puneetha B M</name>
<designation>Developer</designation>
</employee>
<employee>
<userid>2</userid>
<name>Bhoomika</name>
<designation>Analyst</designation>
</employee>
现在我需要把它转换成如下格式(输出文件名output.xmlb):我需要把每条记录放到一行
<employee> <userid>1</userid> <name>Puneetha B M</name> <designation>Developer</designation> </employee>
<employee> <userid>2</userid> <name>Bhoomika</name> <designation>Analyst</designation> </employee>
对于这种转换,作者在 unix 中使用了以下命令。
cat input.xml | tr -d '&' | tr '\n' ' ' | tr '\r' ' ' | sed 's|</employee>|</employee>\n|g' | grep -v '^\s*$' > output.xmlb
请任何人帮助我了解这些 unix 命令是如何工作的。 如果您不能很好地理解我的问题,请访问链接:http://blog.puneethabm.in/load-xml-file-to-hive-without-java-code/ 在这里,我试图了解 Step1
【问题讨论】:
-
explainshell.com 给你一个开始。如果您需要了解更多关于任何特定命令在做什么的信息,您可以阅读其手册页以获取更多详细信息(部分信息在上一个链接中提供)。您有更具体的问题吗?
-
谢谢你。网站很棒。我正在尝试一一了解数据是如何流经每个命令的。
标签: xml sed xml-parsing grep tr