Mais interessante; como você atribuiria números sequenciais a linhas seqüenciais? :-)
Carl Witthoft
1
@CarlWitthoft Numere as linhas com o pacote TextFX (TextFx> Ferramentas TextFx> Inserir números de linha) e mova os números de linha para o EOL com uma regexp.
DavidPostill
2
Se houver uma linha vazia entre duas linhas de texto, essa linha também deve receber 1?
Nzall 20/07
4
:%s/$/1/. Oh espere, esse é o Vim . ;-) (que é disponível para Windows também.)
DevSolar
1
@DevSolar Como alternativa :g/$/norm A1,. Ou o mais complexo, mas mais sofisticado gg$<C-v>G$A1<esc>. Ou mesmo os reconhecidamente desagradáveis ggqqqqqA1<esc>j@qq@q. Mais do que uma maneira de fazê-lo: P
Doorknob
Respostas:
28
Como adiciono um número no final de cada linha no Notepad ++?
Menu "Pesquisar"> "Substituir" (ou Ctrl+ H)
Defina "Encontre o que" para \r\n
Defina "Substituir por" para 1\r\n
Ative "Expressão regular" ou "Estendido"
Nota - "Expressão regular" é um superconjunto de "Estendido", portanto, nesse caso em particular, não importa qual você usar.
Clique em "Substituir tudo"
Notas:
O texto acima pressupõe que você esteja editando um arquivo de texto com EOLs do Windows \r\n,.
Se você estiver usando arquivos com EOLs diferentes, poderá convertê-los em EOLs do Windows usando o Menu "Editar"> "Conversão de EOLs".
Se você não está trabalhando com o Windows EOL e não deseja convertê-los, use o seguinte:
Use em \nvez de \r\npara EOLs do Unix / OS X ("Localizar o que é \n", "Substituir por" é 1\n))
Use em \rvez de \r\npara EOLs do Mac OS (até a versão 9) ("Localizar o que é \r", "Substituir por" é 1\r))
Isso funciona apenas se o delimitador de linha for windows, \ r \ n.
Zaheylu
4
Sim, mas o Notepad ++ é um programa do Windows ...;)
DavidPostill
5
Oh você está certo ... :) Ainda assim, o arquivo de texto poderia ter outra linha que termina codificação;)
Zaheylu
5
Se você não estiver trabalhando com o EOL do Windows, não há razão para "convertê-los" ... basta usar \nou \ralternar (EOLs do Unix e Mac, respectivamente). \n=> 1\nou \r=> 1\r. Faço esse tipo de coisa com mais frequência com o Extended, em vez do Regex, pessoalmente.
WernerCD
2
@WernerCD Note-se que um único \rsó se aplica ao Mac OS extinto. Não é o OS X, que usa \n.
20915 Bob
19
Outra opção é o recurso de gravação e reprodução.
Com o cursor na primeira linha, clique em 'Iniciar gravação'
Digite End, 1,↓
Clique em 'Parar gravação'
Clique em 'Executar uma macro várias vezes ...'
Selecione 'Executar até o final do arquivo' e clique em Executar
As macros do Notepad ++ nunca recebem amor suficiente.
Armani
15
Resposta atualizada:
Pressione Ctrl+ Hpara abrir a caixa de diálogo Substituir.
No modo de pesquisa, marque Expressão regular.
Find what: $
Replace with: 1
E bateu Replace all
Resposta original
Pressione Ctrl+ Hpara abrir a caixa de diálogo Substituir.
No modo de pesquisa, marque Regular Expression.
Encontre o que: ^.*$
Substituir com ($0)1
E bateu Replace all
Explicação
Você está procurando a expressão regular ^.*$, que é essencialmente todas as linhas. ^marca o início de uma linha, .*inclui qualquer caractere qualquer número de vezes e $marca o final da linha. Portanto, essa expressão regular encontra todo o conteúdo em todas as linhas.
Substituímos esta expressão por ($0)1, $0sendo a expressão encontrada e anexando a 1a ela.
Eu ia dizer isso também .. por que toda a complexa expressão de registro? isso responde perfeitamente à pergunta .. e por que a votação negativa? porque alguém simplesmente não entendeu que é uma resposta válida? Oo
Ditto
2
Isso pode não ser prático para 23.000 linhas (muito lentas ou não (problemas de memória devido aos algoritmos de Shlemiel, o pintor ?)). Você já experimentou em 23.000 linhas?
Peter Mortensen
2
@PeterMortensen Horrivelmente lento, mas o uso de memória é bom (5 MB => 25 MB). O problema maior é que ele não parece lidar bem com diferentes comprimentos de linha.
Bob
@Ditto Não pretendo ser um usuário comum, mas isso parece consideravelmente menos intuitivo do que expressões regulares. Então, novamente, xkcd.com/1171
David Z
1
Esta não é uma resposta muito boa; primeiro você precisaria encontrar a linha mais longa; depois, pressionaria até a última linha; ao testar esse método, fiquei entediado depois de algumas dúzias de linhas; não consegui ficar sentado lá por 20k + lines
Aequitas
1
Se houver seqüências de caracteres igualmente longas, mantenha pressionado Alte clique e arraste para bloquear a seleção e poder escrever em várias linhas ao mesmo tempo. Se eles não forem igualmente longos, mas não separados por espaço, você não poderá executar o mesmo procedimento e substituir "" por "".
Às vezes eu usar esse recurso, mas arrastando para 23.000 linhas ... Não tanto diversão :)
Denham Coote
1
Modo estendido.
Eu queria adicionar uma abordagem um pouco diferente que não é mencionada em outras respostas: Modo Estendido.
Para algo assim - onde tudo que você está preocupado com são \r, \n, \tou outros incluídos no esta pequena lista (embora que parece de página para ser "datado", por isso não 100% de certeza sobre a sua veracidade) há nenhuma razão para ir completo fora regulares expressão.
Eu uso o modo estendido do Notepad ++ "frequentemente" para massagear layouts de arquivos - principalmente centrando-se em remover várias linhas vazias, espaço em branco extra e outras curiosidades variadas.
:%s/$/1/
. Oh espere, esse é o Vim . ;-) (que é disponível para Windows também.):g/$/norm A1
,. Ou o mais complexo, mas mais sofisticadogg$<C-v>G$A1<esc>
. Ou mesmo os reconhecidamente desagradáveisggqqqqqA1<esc>j@qq@q
. Mais do que uma maneira de fazê-lo: PRespostas:
Como adiciono um número no final de cada linha no Notepad ++?
Menu "Pesquisar"> "Substituir" (ou Ctrl+ H)
Defina "Encontre o que" para
\r\n
Defina "Substituir por" para
1\r\n
Ative "Expressão regular" ou "Estendido"
Nota - "Expressão regular" é um superconjunto de "Estendido", portanto, nesse caso em particular, não importa qual você usar.
Clique em "Substituir tudo"
Notas:
O texto acima pressupõe que você esteja editando um arquivo de texto com EOLs do Windows
\r\n
,.Se você estiver usando arquivos com EOLs diferentes, poderá convertê-los em EOLs do Windows usando o Menu "Editar"> "Conversão de EOLs".
Se você não está trabalhando com o Windows EOL e não deseja convertê-los, use o seguinte:
Use em
\n
vez de\r\n
para EOLs do Unix / OS X ("Localizar o que é\n
", "Substituir por" é1\n
))Use em
\r
vez de\r\n
para EOLs do Mac OS (até a versão 9) ("Localizar o que é\r
", "Substituir por" é1\r
))Leitura adicional
fonte
\n
ou\r
alternar (EOLs do Unix e Mac, respectivamente).\n
=>1\n
ou\r
=>1\r
. Faço esse tipo de coisa com mais frequência com o Extended, em vez do Regex, pessoalmente.\r
só se aplica ao Mac OS extinto. Não é o OS X, que usa\n
.Outra opção é o recurso de gravação e reprodução.
Screenshots
Digite End, 1,↓
fonte
Resposta atualizada:
Pressione Ctrl+ Hpara abrir a caixa de diálogo Substituir.
No modo de pesquisa, marque Expressão regular.
Find what:
$Replace with:
1E bateu
Replace all
Resposta original
Pressione Ctrl+ Hpara abrir a caixa de diálogo Substituir.
No modo de pesquisa, marque
Regular Expression
.Encontre o que:
^.*$
Substituir com
($0)1
E bateu
Replace all
Explicação
Você está procurando a expressão regular
^.*$
, que é essencialmente todas as linhas.^
marca o início de uma linha,.*
inclui qualquer caractere qualquer número de vezes e$
marca o final da linha. Portanto, essa expressão regular encontra todo o conteúdo em todas as linhas.Substituímos esta expressão por
($0)1
,$0
sendo a expressão encontrada e anexando a1
a ela.fonte
$
e substitua =1
é suficiente.Ou faça como os meninos grandes fazem :).
Selecione a última coluna usando Shift + Alt => tecla direita (uma vez) => tecla para baixo (pressione até a última linha).
Digite o que quiser. Aparecerá em todas as linhas de uma só vez.
fonte
Se houver seqüências de caracteres igualmente longas, mantenha pressionado Alte clique e arraste para bloquear a seleção e poder escrever em várias linhas ao mesmo tempo. Se eles não forem igualmente longos, mas não separados por espaço, você não poderá executar o mesmo procedimento e substituir "" por "".
fonte
Modo estendido.
Eu queria adicionar uma abordagem um pouco diferente que não é mencionada em outras respostas: Modo Estendido.
Para algo assim - onde tudo que você está preocupado com são
\r
,\n
,\t
ou outros incluídos no esta pequena lista (embora que parece de página para ser "datado", por isso não 100% de certeza sobre a sua veracidade) há nenhuma razão para ir completo fora regulares expressão.Eu uso o modo estendido do Notepad ++ "frequentemente" para massagear layouts de arquivos - principalmente centrando-se em remover várias linhas vazias, espaço em branco extra e outras curiosidades variadas.
\r\n
para Windows\r
para versões mais antigas do MacOS (9 ou mais antiga)\n
para Unix ou mais recente do MacOS (OS X ou mais recente)1\r\n
para Windows1\r
para versões mais antigas do MacOS (9 ou mais antiga)1\n
para Unix ou mais recente do MacOS (OS X ou mais recente)fonte
\n
para o Unix e\r
para a versão mais antiga do MacOS? Primeiro marcador da Wikipedia: en.wikipedia.org/wiki/Newline#Representations