Substituir retorno de carro e avanço de linha no Notepad ++


72

Eu tenho um arquivo com uma mistura de CRLF e LF e desejo remover o LF. Eu sou novo no Notepad ++ e baixei a V6.23.

Estou usando a caixa de diálogo pesquisar / substituir no modo estendido. Ele localizará e contará o CR LF (usando \ r \ n), mas se eu fizer uma substituição (por exemplo, um espaço em branco ou \ r) nada acontecerá, e um substituir tudo informará que substituiu 0 ocorrências. Existem cerca de 1000 CRLF no arquivo e podem ser 100 LF solitários.

Alguma ideia?


Então, você deseja substituir o CRLF por CR e LF por um espaço (ou apenas excluir LFs independentes)? Além disso, ele precisa ser apenas via Notepad ++?
Karan

Desejo excluir o LF autônomo. Ele não precisa ser o Notepad ++, embora eu não entenda por que o Notepad ++ parece não conseguir fazer isso.
Alan

um guia para o bloco de notas que eu uso: blog.jtbworld.com/2011/01/…
Hayden Thring

Eu enviava o arquivo para alguém com o Visual Studio (a menos que você o tenha instalado) e, em seguida, abra o arquivo lá. Isso deve perguntar se o Visual Studio pode "normalizar" os caracteres de final de linha "automagicamente" (no arquivo aberto).
Stein Åsmul

Respostas:


69

Tarefa: O arquivo possui uma mistura de CRLF e LF , e você deseja terminar com apenas CRLF e excluir todas as instâncias independentes do LF .

  1. Arquivo:
    1 1

  2. Arquivo (Mostrar todos os caracteres):
    2

    Agora, se você excluir apenas o LF autônomo no final da Linha 3, deverá terminar com as Linhas 3 e 4 unidas, com o restante das terminações da linha não afetadas.

  3. Substitua o número 1 ( \npor (blank)):
    3

  4. Arquivo após substituir nº 1:
    4

  5. Substitua # 2 ( \rpor \r\n):
    5

  6. Arquivo após substituir # 2:
    6

  7. Resultado final:
    7

Conclusão: O Notepad ++ parece capaz de fazer o trabalho muito bem!


36

Na barra de menu Notepad ++, clique em EditarConversão de EOLFormato Mac antigo para formatar arquivos inteiros.

Imagem de Como fazer isso.


2
Acho que você quer dizer 'Conversão de EOL', mas era exatamente isso que eu estava procurando! Obrigado!
Gary

Acho que essa é a maneira mais consistente sobre o método localizar / substituir. Há um comportamento estranho no bloco de notas ++ que, se a primeira linha do arquivo for \ r \ n, a descoberta não o reconhecerá, como todos os outros \ r \ n do documento. O EOL conversão não enfrentam esse problema
demongolem

Documentação oficial do Notepad ++ que se refere ao final da linha: docs.notepad-plus-plus.org/index.php/Lines_And_Blocks
Julian

Alemão: Bearbeiten -> Formato Zeilenende -> UNIX (LF)
PeterCo

3

Você pode simplesmente copiar tudo para o wordpad, criar um novo arquivo de texto com o bloco de notas ++ e colá-lo novamente no novo arquivo do wordpad. Toda linha deve ter CR agora.


Trabalhou com um arquivo que tinha uma mistura de CR LF, CReLF
pkr298

2

Aqui está uma maneira SUPER SIMPLES ....

Selecione todo o texto que deseja alterar e clique em Menu Editar -> Operações de linha -> Unir linhas.

-Ou-

Simplesmente, pressione CONTROL + A e, em seguida, CONTROL + J para fazer o mesmo.


1

você pode ter ativado acidentalmente a opção "mostrar todos os caracteres" ativada no editor

caixa de ferramentas do notepad ++


Uau. Somente esta opção está funcionando para mim.
Rajeev Rathor 12/07


0

Verifique se o botão Mostrar todos os caracteres está selecionado. Use Alt e arraste o mouse sobre apenas o texto que você deseja copiar e colar. NÃO SELECIONE CR | LF. CR | LF será deixado de lado. Faça o mesmo quando colar e usar Alt, não selecione CR | LF e pressione Ctrl-> v. Isso é para anexar uma lista de texto a um arquivo separado com uma lista de texto.


Bem-vindo ao Super Usuário! Por favor, leia a pergunta novamente com atenção. Sua resposta não responde à pergunta original. Parece ser uma resposta para outra pergunta completamente diferente.
DavidPostill

0

Posso apenas sugerir que as duas terminações de linha mais comuns são CRLF ou LF.

Se você remover o LF, você terminará com finais de linha apenas de CR. Isso não é padrão.

Isso (dependendo do seu uso) pode quebrar várias coisas. Por exemplo, o arquivo hosts do Windows será interrompido se você fizer isso (gaste muito tempo em uma chamada de suporte sobre esse problema).


-1

Na caixa de diálogo Localizar, existem três modos de pesquisa, como Normal, Estendida (\ n, \ r, \ O, \ x ...) e Expressão regular. O meu foi padronizado como Normal, mas você precisa de Estendido para os caracteres de escape.


-1

Eu enfrentei um problema semelhante. Segui as etapas abaixo para remover LF com CRLF

  1. Abrir arquivo com o bloco de notas ++
  2. Clique em Editar -> Conversão EOL -> Formato do Windows (isso acrescentará substituir LF por CRLF)
  3. Salve o arquivo

11
O OP deseja remover o LF do par CR / LF, mas mantenha intacto apenas o LF existente. Sua resposta substituirá LFs isolados por um par CR / LF, mantendo os pares CR / LF existentes inalterados. Útil, talvez, mas o oposto do que o OP quer.
um CVn

-1

Abra o arquivo no Notepad ++.

Etapa 1) coloque o word warp (veja o wordwrap)
Etapa 2) vá para a pesquisa .. clique em: encontre o caractere na guia intervalo

Na janela de pesquisa, você tem de 10 a 10. Você pode encontrar toda a ocorrência de CR / LF e LF.

Exclua manualmente se o arquivo for muito pequeno.


-1

Copie o texto inteiro para uma nova guia, isso substituirá automaticamente os caracteres especiais. O principal desafio do método find replace é se o formato / alinhamento do texto estiver distorcido.


Você realmente tentou isso? Dica: não funciona.
DavidPostill

-1

Com base nas respostas acima, criei uma única substituição para resolver esse problema, que eu mesmo tinha.

Em vez de substituir "\r\n"por "\n"e fazê-lo novamente, eu substituído "\r\n"por ""(nada), então ele foi feito. Marquei também "Wrap around" e a caixa ao lado, estendendo as possíveis expressões regulares.

Por alguma razão, é necessário substituir espaços duplos por um único espaço posteriormente, mas isso "\r\n"é resolvido após a primeira substituição.

insira a descrição da imagem aqui


"Substituí" \ r \ n "por" "(nada)" - esta não é a ação solicitada na pergunta.
Máté Juhász 03/10

Gostaria de deixar claro que, para resolver o problema proposto, todas as etapas que eu mencionei eram necessárias.
Rodrigo Araujo

-1

O recurso de conversão de EOL no menu Editar faz o trabalho muito bem, como alguém já mencionou - muito rápido, muito fácil, muito preciso. Mas notei algo um pouco estranho, e é por isso que estou jogando meus dois centavos no valor.

Eu estava apontando para a codificação do Windows. Em alguns dos meus arquivos, eu não tinha a opção de escolher 'Formato do Windows' porque estava acinzentado, acho que porque a maior parte do arquivo estava usando caracteres de final de linha do Windows. A solução simples foi escolher uma das outras duas opções ('UNIX / OSX Format' ou 'Old Mac Format') e, mais uma vez, ir em 'Edit -> EOL Conversion' e o Windows Format agora estava disponível para escolha.


Esta resposta duplica outra resposta dada aqui.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.