quinta-feira, 17 de dezembro de 2020

Removendo linhas duplicadas no Notepad ++

 Desde o Notepad ++ Versão 6, você pode usar este regex na caixa de diálogo de pesquisa e substituição:

^(.*?)$\s+?^(?=.*^\1$)

substitua por nada . Isso deixa de todas as linhas duplicadas a última ocorrência no arquivo.

Nenhuma classificação é necessária para isso e as linhas duplicadas podem estar em qualquer lugar do arquivo!

Você precisa verificar as opções "Expressão regular" e ". Corresponde à nova linha":

Notepad ++ Substituir diálogo

  • ^ corresponde ao início da linha.

  • (.*?)corresponde a qualquer caractere 0 ou mais vezes, mas o mínimo possível (corresponde exatamente na linha, isso é necessário por causa da opção ". corresponde a nova linha"). A linha correspondente é armazenada, por causa dos colchetes ao redor e acessível usando\1

  • $ corresponde ao fim da linha.

  • \s+?^ esta parte corresponde a todos os caracteres de espaço em branco (novas linhas!) até o início da próxima linha ==> Isso remove as novas linhas após a linha correspondida, de forma que nenhuma linha vazia esteja lá após a substituição.

  • (?=.*^\1$)esta é uma afirmação antecipada positiva. Esta é a parte importante neste regex, uma linha só é correspondida (e removida), quando há exatamente a mesma linha seguindo em algum outro lugar no arquivo.

1 comentário :

  1. Muito bom, ajudou aqui reduzir de 500 e poucas linhas para 200 e poucas.

    ResponderEliminar