Desde o Notepad ++ Versão 6, você pode usar este regex na caixa de diálogo de pesquisa e substituição:
^(.*?)$\s+?^(?=.*^\1$)
e 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":
^
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.
Muito bom, ajudou aqui reduzir de 500 e poucas linhas para 200 e poucas.
ResponderEliminar