Macete para apagar conteúdo de arquivo sem excluí-lo

Publicado por Daniel Zaia Manzano em 15/07/2013

[ Hits: 76.471 ]

 


Macete para apagar conteúdo de arquivo sem excluí-lo



Podem ocorrer situações em que se faz necessário apagar todo o conteúdo de um arquivo, porém, sem apagá-lo. E apagar o arquivo e criá-lo novamente, é muito trabalhoso e um tanto quanto amador. :)

Usar o comando echo > arquivo.txt faz com que o conteúdo do arquivo seja apagado, e em seu lugar fique apenas um caractere de nova linha.

Exemplo:

echo texto > arquivo.txt
$ cat arquivo.txt

texto


echo > arquivo.txt
$ cat arquivo.txt




Usar a opção "-n" do comando echo faz com que o caractere de nova linha nem chegue a aparecer, fazendo com que o arquivo fique completamente vazio, apesar de ainda existir.

Exemplo:

echo linux > arquivo.txt
$ cat arquivo.txt

linux


echo -n > arquivo.txt
$ cat arquivo.txt




Em ambas abordagens, ocorreu o seguinte:
  • A saída do comando foi redirecionada com sobrescrita (>) para um arquivo. Significa dizer que o resultado do comando substituirá o conteúdo do arquivo.
  • Acontece que o bash, por padrão, primeiro faz a operação de sobrescrita, para depois executar o comando. Disto isto, podemos concluir que, mesmo que não exista um comando propriamente dito, a sobrescrita invariavelmente acontece.

Exemplo:

echo gnu > arquivo.txt
$ cat arquivo.txt

gnu

> arquivo.txt
$ cat arquivo.txt



Outras dicas deste autor

Acompanhando progresso na cópia de arquivos

dd - Instalação correta do GNU/Linux em pendrive

Debian - Descobrindo a que pacote determinado arquivo pertence

Alterar resolução de tela do terminal (modo texto)

FIGlet - Letras grandes no modo texto

Leitura recomendada

Linux é fácil de instalar

Boot de uma imagem ISO no HD

Lançamento da Gentoo Wiki

Conisli 2006 - Congresso Internacional de Software Livre

Conferência Internacional Software Livre Brasil

  

Comentários
[1] Comentário enviado por eltonmanoel em 15/07/2013 - 02:24h

Uma outra opção, que eu utilizo, é essa abaixo:
echo >''arquivo.txt

[2] Comentário enviado por Carlos_Cunha em 16/07/2013 - 20:45h

Eu uso mais simples ainda....

> arquivo


Apagado todo conteúdo do arquivo de forma simples e pratica!!!

[3] Comentário enviado por dzm_linux em 17/07/2013 - 08:04h


[2] Comentário enviado por PretooOO em 16/07/2013 - 20:45h:

Eu uso mais simples ainda....

> arquivo


Apagado todo conteúdo do arquivo de forma simples e pratica!!!


Amigo,

Leia a minha dica do início ao fim, e você vai descobrir que o macete ao qual eu me refiro é justamente este!

Abraços



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts