Notepad++ - Selecione todas as linhas das colunas

Notepad++ - Selecione todas as linhas das colunas

Eu tenho um arquivo de texto extremamente longo (cerca de 15 mil linhas). Contém apenas números (6 números separados por um espaço). Estou interessado apenas nos três primeiros números de cada linha. Tentei selecionar o modo de coluna e arrastá-lo para baixo, mas é muito lento e tenho vários arquivos para manipular.

Também tentei o truque de seleção inicial/final, mas parece não funcionar com colunas.

Existe uma maneira de selecionar automaticamente apenas as três últimas colunas de números em um arquivo de texto? Uma maneira seria uma opção para selecionar todas as linhas nas colunas especificadas. É possível?

Responder1

Experimente isto:

  1. Pressione CTRL+ Homepara mover o cursor de digitação para o topo do documento.
  2. Agora, use a barra de rolagem para rolar rapidamente até o final do documento sem alterar a posição do cursor de digitação. Você pode arrastar a parte deslizante da barra de rolagem para chegar rapidamente à parte inferior do documento. É muito rápido.
  3. Mova o ponteiro do mouse após o terceiro número da última linha, mantenha pressionado Alt+ Shifte clique.

Bingo!

Responder2

Isso pode ser feito com a seguinte expressão regular, assumindo que seus números sejam apenas números (ou seja, sem vírgulas, pontos decimais):

1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666
1111 2222 3333 4444 5555 6666

CTRL-H para ir para Localizar e Substituir

Find what: .*\s(\d+\s\d+\s\d+)$
Replace with: \1
Search Mode: Regular expression

Uma explicação do find regex:

.*  = match anything, repeating
\s  = match single whitespace
(   = start capture group
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
\s  = match single whitespace
\d+ = match one or more numerals
)   = end capture group
$   = match end of line

E a caixa de substituição:

\1 = capture group 1 from the prior regex match (everything matched between the ( and the ))

Isso levou alguns segundos para ser substituído e deixa você com as últimas três colunas de números, ou seja.

4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666
4444 5555 6666

Captura de tela da caixa de substituição NPP:

notepad++ encontre e substitua regex

informação relacionada