我正在尋找遍歷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的解決方案更乾淨。 –