Como extrair dados da tabela html no shell script?

Estou tentando criar um script BASH que extrairia os dados da tabela HTML. Abaixo está o exemplo da tabela de onde eu preciso extrair dados:

<table border=1>
<tr>
<td><b>Component</b></td>
<td><b>Status</b></td>
<td><b>Time / Error</b></td>
</tr>
<tr><td>SAVE_DOCUMENT</td><td>OK</td><td>0.406 s</td></tr>
<tr><td>GET_DOCUMENT</td><td>OK</td><td>0.332 s</td></tr>
<tr><td>DVK_SEND</td><td>OK</td><td>0.001 s</td></tr>
<tr><td>DVK_RECEIVE</td><td>OK</td><td>0.001 s</td></tr>
<tr><td>GET_USER_INFO</td><td>OK</td><td>0.143 s</td></tr>
<tr><td>NOTIFICATIONS</td><td>OK</td><td>0.001 s</td></tr>
<tr><td>ERROR_LOG</td><td>OK</td><td>0.001 s</td></tr>
<tr><td>SUMMARY_STATUS</td><td>OK</td><td>0.888 s</td></tr>
</table>

E eu quero o script BASH para produzi-lo da seguinte forma:

SAVE_DOCUMENT OK 0.475 s
GET_DOCUMENT OK 0.345 s
DVK_SEND OK 0.002 s
DVK_RECEIVE OK 0.001 s
GET_USER_INFO OK 4.465 s
NOTIFICATIONS OK 0.001 s
ERROR_LOG OK 0.002 s
SUMMARY_STATUS OK 5.294 s

Como fazer isso

Até agora, tentei usar o sed, mas não sei como usá-lo muito bem. O cabeçalho da tabela (Componente, Status, Hora / Erro) excluí com grep usandogrep "<tr><td>, apenas as linhas que começam com<tr><td> será selecionado para a próxima análise (sed). Isto é o que eu usei:sed 's@<\([^<>][^<>]*\)>\([^<>]*\)</\1>@\2@g' Mas então<tr>s tags @ ainda permanecem e também não separam as strings. Em outras palavras, o resultado desse script é:

<tr>SAVE_DOCUMENTOK0.406 s</tr>

O comando completo do script no qual estou trabalhando é:

cat $FILENAME | grep "<tr><td>" | sed 's@<\([^<>][^<>]*\)>\([^<>]*\)</\1>@\2@g'

questionAnswers(6)

yourAnswerToTheQuestion