Como remover linhas em branco em arquivos .txt


1

Eu quero mudar o formato de um arquivo de texto, removendo todas as linhas em branco. Como eu posso fazer isso?


(2) 5. A função do condensador é:

a) vaporizar o líquido refrigerante

b) mudar vapor de refrigerante de alta pressão para líquido

c) pressurizar vapor refrigerante de baixa pressão

d) expelir o refrigerante vaporizado

e) baixar a pressão do líquido refrigerante

(2) 6. Uma tonelada de refrigeração é:

a) 13958 kJ por dia

b) 100 kJ por minuto

c) 233 kJ por minuto

d) 13958 J por hora

e) 335 J por segundo


(2) 5. A função do condensador é:
a) vaporizar o refrigerante líquido
b) mudar o vapor refrigerante de alta pressão para líquido
c) pressurizar o vapor refrigerante de baixa pressão
d) retirar o refrigerante vaporizado
e) baixar a pressão do líquido refrigerante

(2) 6. Uma tonelada de refrigeração é:
a) 13958 kJ por dia
b) 100 kJ por minuto
c) 233 kJ por minuto
d) 13958 J por hora
e) 335 J por segundo

Respostas:


5

Você pode usar o GNU sed:

sed -i -e "/^$/d" su.txt

Irá apagar linhas em branco.


Se você estiver em uma variante BSD ou OS X, use isso:

sed -i '' -e "/^$/d" su.txt

Aqui, -iassume uma extensão como um argumento - usar a sintaxe do sed do GNU resultaria em um arquivo su.txt-esendo criado.


Olá, obrigado pela ajuda. Eu instalei o GNU sed no Window Vista, tentei o SED não funcionar, sem a janela do SED
Brant

@Brant O que você quer dizer com "não funciona" e "sem janela do SED"? Você pode executar o comando a partir de um prompt? Se não, quais erros você vê?
Slhck

Primeiro, não consegui encontrar o atalho do SED em nenhum lugar no menu de inicialização ou na área de trabalho. Então eu corro o bin em Arquivos de Programas -> GnuWin32 -> bin -> SED na unidade C. Em seguida, Black janela para uma fração de segundo e desapareceu
Brant

@Brant é uma ferramenta de linha de comando. Esse comando irá editá-lo no local, invocado de um shell. Não há GUI. Eu recomendo que você instale o cygwin no Windows e use o que vem com ele.
Keith

Instalar o cygwin apenas para remover algumas linhas de um arquivo de texto parece um pouco exagerado para mim.
Richard

0

Isto pode ser conseguido usando grep:

grep . file

Ou experimente o ex- way (compatível com várias plataformas):

ex -s +'v/\S/d' -cwq test.txt

Para vários arquivos (editar no local):

ex -s +'bufdo!v/\S/d' -cxa *.txt

Nota: O :bufdocomando não é POSIX .

Sem modificar o arquivo (basta imprimir na saída padrão):

cat test.txt | ex -s +'v/\S/d' +%p +q! /dev/stdin

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.