Como reordenar colunas delimitadas por pipe no Notepad ++?

8

Estou tentando reposicionar todas as linhas em um arquivo .txt da seguinte maneira abaixo. No entanto, não tenho ideia de como proceder. Isso é possível com o Notepad ++?

da
apple|[email protected]|orange
celery|[email protected]|cabbage
sandwich|[email protected]|turkey

para o
apple|orange|[email protected]
celery|cabbage|[email protected]
sandwich|turkey|[email protected]

    
por Lucyfer 03.08.2015 / 02:57

1 resposta

15

Reordenando colunas em um arquivo de texto

Sim, isso é possível dentro de baunilha Notepad++ , embora, como observado, também haja plugins que o farão. Uma abordagem melhor (mais robusta) pode ser usar algumas ferramentas de processamento de texto de linha de comando, mas se você precisar de uma solução rápida e suja, você pode encontrar o seguinte:

Assumindo sua entrada exata ( col1|col2|col3 , delimitador de canal, sem pipe em col2 ):

Encontrar : (.*?)\|(.*?)\|(.*)

Substituir : ||

funciona para mim aqui em Notepad++ , construído em janeiro de 2015. Um tanto brutal, mas funciona.

Explicação:

.* - corresponde a qualquer caractere (exceto a nova linha), entre zero e tempo ilimitado

.*? - corresponde a qualquer caractere (exceto a nova linha) como acima, de uma maneira não-voraz (ou seja, corresponde o mínimo possível )

(.*) - colchetes simples indicam grupo de captura acima (para usar em Substituir como por exemplo , , etc)

\| - \ escapes pipe ( | ) para corresponder literalmente

|| - imprime o primeiro grupo correspondente, pipe, terceiro grupo correspondente, canal, segundo grupo correspondente

    
por 03.08.2015 / 03:13

Tags