複数のファイルから複数のタグ値を抽出する必要があります。我々は、単一のファイルにすべてのファイルからEMPNAME、SidNumberとEpisodeIdを抽出する必要が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>
: は、我々は次のようにデータを持つ約1000のファイルを持っています。 私たちは一度に1つの値を得ることができます。コマンドを使用して:
nawk -F'[<>]' '/<EpisodeId>/{print $3}' *.dat
しかし、我々は、各ファイルの複数のタグを取得する必要があります。 出力形式が
EmpName Stuart SidNumber 0251115 EpisodeId 682082
EmpName Stuart SidNumber 0251115 EpisodeId 682082
または少なくともスペース区切りのようなものであるべき値
Stuart 0251115 682082
Stuart 0251115 682082
任意の助けいただければ幸いです。事前に
おかげで、 のVivek
は 'sed'や' awk'には向いていませんが、仕事のためのツールではありません。 'xmllint'のようなxml対応のツールに行くと、ここではやってはいけない方法の一つですが、小さなxmlの場合はうまくいくでしょう。 '$(awk -v FS = '[<数>]'長さ($ 3){プリント$ 2" = "$ 3}"入力ファイル) 'エコー$ EmpName' –