我們需要從多個文件中提取多個標記值。 我們大約有1000個文件具有類似的數據:如何從linux中的多個xml文件中提取多個標記值
<Employee>
<Id>432361</Id>
<EmpName>Stuart</EmpName>
<SidNumber>0251115</SidNumber>
<CreatedUtc>2016-11-14T22:27:53.477+08:00</CreatedUtc>
<EpisodeId>682082</EpisodeId>
<CorrelationId>323A6C86-76AA-E611-80DA-005056B46023</CorrelationId>
</Employee>
我們需要從所有文件解壓EmpName,SidNumber和EpisodeId到一個文件中。 我們能夠一次獲得一個值,例如。使用命令:
nawk -F'[<>]' '/<EpisodeId>/{print $3}' *.dat
但是我們需要獲得每個文件的多個標籤。 輸出格式應該是類似的東西,以
EmpName Stuart SidNumber 0251115 EpisodeId 682082
EmpName Stuart SidNumber 0251115 EpisodeId 682082
,或至少有空格分隔值
Stuart 0251115 682082
Stuart 0251115 682082
任何幫助,將不勝感激。
由於提前, 維韋克
不要使用'sed'或'awk',它們不適合這項工作。去找一些xml感知工具,比如'xmllint',這裏有一種你不應該做的事情,但是對於小型的xmls來說,這是一個很好的選擇。 '聲明$(awk -v FS ='[<>]''length($ 3){print $ 2「=」$ 3}'inputfile)'then'echo $ EmpName' –