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 .