Shell
如何使用 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 ...
檢查這個
$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