Existem várias maneiras de fazer isso. Por exemplo, você pode escrever um pequeno programa ou script para fazer o trabalho, ou usar um editor de texto capaz de formatar HTML, ou um que possa fazer uma pesquisa / substituição usando expressões regulares .
Mostrarei as duas últimas opções, usando jEdit ( sudo apt-get install jedit
), embora haja muitos outros editores que você possa usar.
Formatar automaticamente o texto HTML
Você precisará de um dos plugins "Beleza" ou "XML" para o jEdit. Em jEdit, vá para "Plugins" - > "Plugin Manager ...", aba "Instalar", marque "Beleza" ou "XML", clique no botão "Instalar". Se você for agora para a aba "Gerenciar", o (s) plugin (s) devem estar listados lá.
Para usar o Beauty, você precisa ter certeza de que o formatador html está selecionado. Vá para "Plug-ins" - > "Opções de Plugin ...". Na árvore esquerda, abra "Plugins" / "Beauty" / "Modes". Na lista à direita, selecione Beautifier html: beauty para Mode html.
CliqueOK.Agoraabraseuarquivoeverifiqueseomododeediçãoéhtml(barradestatus,cantoinferioresquerdo)
Execute o plug-in acessando "Plugins" - > [iniciais] - > "Beleza" - > "Beautify Buffer".
Ou, para usar XML, basta acessar "Plug-ins" - > [iniciais] - > "XML" - > "XML de recuo".
Pesquisar / substituir usando expressões regulares
Carregue seu arquivo no jEdit, pressione Ctrl + F para abrir a caixa de diálogo "Pesquisar e substituir" e altere as opções para que fique assim:
Ouseja:pesquisepor:(<a(?:\s+[^>]*)?>.*?</a>)
.Substituapor:\n$1\n
.Tenhacuidadoparaque"Expressões regulares" seja verificado. Agora pressione "Replace All" e todos os links devem receber uma nova linha antes e depois. Se você quiser a nova linha somente antes do link, substitua por \n$1
; se você quiser apenas depois, substitua por $1\n
. Aqui está a referência de expressões regulares em jEdit.
Eu testei a substituição com:
<h1><a name="top"></a>Test</h1>
<div><a href="#top" title="link #1"><strong><em>first</em> link</strong></a><a href="page.html">page</a><!-- empty --><a href="l1.html"></a><abbr title="something">smt</abbr><p>more <a title="" href="#c3"> third </a> text</p></div>
O que resultou em:
<h1>
<a name="top"></a>
Test</h1>
<div>
<a href="#top" title="link #1"><strong><em>first</em> link</strong></a>
<a href="page.html">page</a>
<!-- empty -->
<a href="l1.html"></a>
<abbr title="something">smt</abbr><p>more
<a title="" href="#c3"> third </a>
text</p></div>