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?

Alan
fonte
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!

Karan
fonte
36

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

Imagem de Como fazer isso.

ColacX
fonte
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.

user339160
fonte
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.

AKS
fonte
1

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

caixa de ferramentas do notepad ++

Sudhakar
fonte
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.

Triskal
fonte
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).

Adrien
fonte
-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.

Fred Stein
fonte
-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
Arif
fonte
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.

sam
fonte
-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.

HIram Maina Wachira
fonte
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

Rodrigo Araujo
fonte
"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.

Liz
fonte
Esta resposta duplica outra resposta dada aqui.
-1

Para remover o CRLF, você deve selecionar o ícone na parte superior que diz "Mostrar todos os caracteres" e eles desaparecerão. Basta digitalizar com o mouse e encontrar o que se parece com um P. ao contrário

Michael Blakeney
fonte
Ao dar uma resposta, é preferível dar uma explicação sobre POR QUE sua resposta é essa.
Stephen Rauch