XMLなどのテキストファイルで単語を含むn番目の「<」記号を見つける方法は?

XMLなどのテキストファイルで単語を含むn番目の「<」記号を見つける方法は?

XML違反のため、XMLパーサーを使用して解析できないXMLに似たテキストファイルがあります。

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

nファイルで開いたタグの後の単語だけを切り取りたいです。<ファイルはXML構文でなければならず、これは行が異なる可能性があることを意味します。

私の予想結果は次のとおりです。

1  -  note
2  -  to
3  -  /to
4  -  from
5  -  /from
6  -  heading
7  -  /heading
8  -  body
9  -  /body
10 -  /note

ベストアンサー1

$ awk -F"[<>]" '{for(i=2;i<=NF;i+=2){print ++j" - "$i}}' input.xml
1 - note
2 - to
3 - /to
4 - from
5 - /from
6 - heading
7 - /heading
8 - body
9 - /body
10 - /note

おすすめ記事