grepまたはsedを使用して同じ行から複数​​の一致を抽出する方法

grepまたはsedを使用して同じ行から複数​​の一致を抽出する方法

次のテキストを含むファイルがあります。

<TR><TD>5</TD><TD>Ukraine</TD></TR>
<TR><TD>3</TD><TD>Vietnam</TD></TR>
<TR><TD>3</TD><TD>Taiwan</TD></TR>
<TR><TD>3</TD><TD>Netherlands</TD></TR>
<TR><TD>3</TD><TD>South Korea</TD></TR>
<TR><TD>3</TD><TD>Great Britain</TD></TR>

<TD>要素間の情報を抽出したいです。

5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
... 

答え1

これを確認してください

$awk -F"[>|<]" '{print $5,$9}' input.txt
5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
3 South Korea
3 Great Britain

sed コマンドの使用

$ sed "s#<TR><TD>\(.\)</TD><TD>\(.*\)</TD></TR>#\1 \2#" input.txt
5 Ukraine
3 Vietnam
3 Taiwan
3 Netherlands
3 South Korea
3 Great Britain

関連情報