Como classifico linhas em ordem numérica no Notepad ++?

2

Usando o Notepad ++ v6.6.8 com TextFX.

Como classifico linhas em ordem numérica em vez de alfanuméricas?

Eu quero que as linhas sejam ordenadas:

1
2
10
11
15
20

não:

1
10
11
15
2
20
    
por User 08.09.2014 / 02:10

4 respostas

5

Não sei qual é a aparência do seu arquivo, mas uso expressões regulares para adicionar espaços ou zeros antes de cada número para torná-los no mesmo tamanho (por exemplo, 2 se torna 002). Então, eles serão classificados corretamente e você poderá usar outro substituto para remover os espaços / zeros iniciais.

Estes são os passos (funciona para números até 10 caracteres)

Localizar: ^ Substitua: 0000000000

Localizar: \d*(\d{10}) Substitua:

Classificar

Localizar: ^0* Substitua:

Funciona adicionando 10 zeros antes do número, mesmo que provavelmente seja demais. A segunda substituição que leva os últimos 10 dígitos do número para trazer tudo de volta ao mesmo tamanho, dando a você números como 0000000839, 0000000003 etc. Eles serão ordenados na ordem que você deseja que eles ordenem. Uma vez ordenada, a última expressão removerá todos os zeros à esquerda para que você tenha seus números originais de volta.

Se você precisar de números maiores, adicione mais zeros à primeira substituição e aumente os 10 na segunda substituição de acordo. Se você fizer isso com mais frequência, poderá gravar uma macro com estas etapas.

    
por 08.09.2014 / 02:31
1

Eu não tentei isso, mas há um plugin que afirma fazer isso (desde que as linhas iniciem com um número). Aqui está o link: link

Atualizar Ok, esse plugin aparentemente desapareceu por enquanto. Talvez não funcione com as versões mais recentes do NP ++. Aqui está outro que eu vi no gerenciador de plugins, então é pelo menos mais comum: link

Eu apenas tentei em 6.6.9 e é um pouco estranho (não esqueça de apertar o botão Add no diálogo) mas funciona perfeitamente bem.

    
por 08.09.2014 / 02:38
1

Selecione tudo e copie como texto para o Excel ou outro programa de planilha, use a classificação personalizada. Cada linha deve colar como uma única célula, A1, B1, etc. Basta definir o campo como numeral e não texto. Isso é feito configurando o formato da célula ou usando a função TEXTO. Cole de volta ao notepad ++.

No caso mais complexo de OP ter texto misturado com números (por exemplo, "1 Primeira linha", "12 Duodécima linha"), podemos criar uma coluna de classificação para organizar a lista. Como há um espaço após o número, podemos encontrar esse espaço para criar uma coluna apenas com os números usando = ESQUERDA (A1, FIND ("", A1,1)). Depois de distribuir a função para a coluna inteira, podemos classificar ambas as colunas com base na ordem da coluna de classificação (ou seja, ordem numérica) e, em seguida, copiar a primeira coluna de volta na ordem correta. A fórmula exata para extrair o número da linha dependerá do formato da linha, mas o comando acima deve funcionar com pequenas modificações para a maioria dos casos, caso contrário, a troca de pilha tem mais exemplos de fórmulas similares.

    
por 31.08.2016 / 18:56
-2

Plugin de classificação de colunas

link

Você tem que especificar a coluna inicial para números (geralmente 1, o primeiro) e o tamanho para comparar (número máximo de dígitos). Em seguida, defina a ordem de classificação "Ascendente" e o tipo de comparação "Numérico".

    
por 04.09.2015 / 15:26

Tags