Você pode usar o Editor Ex (parte do Vi / Vim) conforme demonstrado no seguinte comando shell :
$ ex +"g/<tr/;,/tr>/join" +"/<table\_.\{-}\zs<tr/;,/table>/sort /.\{-}<a href/" +%p -scq! table.html | html2text
[image of a]
a
[image of b]
b
[image of c]
c
[image of f]
f
O exemplo acima está usando a ferramenta de linha de comando html2text para exibir o HTML analisado do stdin (instalar, se necessário).
Para salvar a tabela classificada no novo arquivo, substitua +%p -scq! por +'wq! sorted.html' , então:
ex +"g/<tr/;,/tr>/join" +"/<table\_.\{-}\zs<tr/;,/table>/sort /.\{-}<a href/" +'wq! sorted.html' table.html
Explicação:
-
+"cmd"- Executa o comando Vim. -
g/<tr/;,/tr>/join- junta linhas entre<tr/etr>(para facilitar a classificação). -
/<table\_.\{-}\zs<tr/;,/table>/- Seleciona o conteúdo entre os primeiros<tr/e/table>. -
sort /.\{-}<a href/- Classifique acima da seleção para as linhas iniciadas após<a href/. -
+%p- buffer de rints P . -
-scq!- S ilently q use o editor sem salvar.
Confira exemplos semelhantes aqui .