我正在寻找遍历XML数据文件中与ID号匹配的ID号列表,并使用BASH(和AWK)将下面的行打印到shell或将其重定向到第三个输出文件(output.txt)BASH脚本遍历XML文件中的ID列表并将名称打印/输出到shell或输出文件?
这里是击穿:
ID_list.txt(缩短这个例子 - 其具有100点的ID)
4414
4561
2132
999
1231
34
489
3213
7941
XML_example.txt(数千个条目的)
<book>
<ID>4414</ID>
<name>Name of first book</name>
</book>
<book>
<ID>4561</ID>
<name>Name of second book</name>
</book>
想我的脚本的输出是100个标识的名称从第一个文件:
Name of first book
Name of second book
etc
我相信这是可能做到这一点使用bash和AWK一个for循环(每个在文件1,在file2中找到相应的名称)。我认为你可以重新获得身份证号码的GREP,然后使用AWK打印下面的行。即使输出看起来像这样,我可以后删除XML标签:
<name>Name of first book</name>
<name>Name of second book</name>
这是一个Linux服务器上,但我可以将它移植到PowerShell的Windows上。我认为BASH/GREP和AWK是要走的路。
有人可以帮我脚本吗?
向我们展示你尝试过什么,你有什么问题 - 否则看起来你希望我们为你写信。 – 2014-01-21 17:54:31
Shell和/或awk不是解析XML的正确选择。 – chepner
@ user2062950,您是对的,请不要在发布之前发布我的版本。我正在阅读时使用;在ID_list.txt解决方案中为我做了一个,但下面的Dogbane的解决方案更干净。 –