Esvaziar o conteúdo do arquivo especificado sem excluir via linha de comando

Anonim

Se você estiver trabalhando na linha de comando e precisar esvaziar rapidamente o conteúdo de um arquivo, poderá fazê-lo colocando um símbolo de maior que e um espaço na frente do nome do arquivo em questão.

Como limpar o conteúdo do arquivo da linha de comando

O truque para remover o conteúdo de um arquivo enquanto o preserva é o seguinte:

> filename

Essa abordagem funciona no bash e em muitos outros shells, mas você também pode usar uma variação de echo se não estiver funcionando no zsh ou em outro shell. Para zsh, use o seguinte para limpar o conteúdo de um arquivo da linha de comando usando echo null e redirecionamento:

echo -n > filename

Todo o conteúdo do arquivo de destino será imediatamente removido sem aviso, deixando-o em branco enquanto mantém a existência, o nome do arquivo e as permissões do arquivo. Isso geralmente é preferível e mais rápido do que excluir manualmente e recriar um arquivo.

Um bom exemplo prático é para limpar o conteúdo dos arquivos de log, por exemplo:

> ~/Library/Logs/updates.log

Ou obtendo o mesmo efeito com o redirecionamento de eco:

echo -n > ~/Library/Logs/updates.log

Você também pode usar este comando para criar um novo arquivo de 0 byte no local, semelhante ao uso do comando touch.

Você achará isso particularmente útil se quiser manter as mesmas permissões de um determinado arquivo, mas deseja substituir o conteúdo, uma ocorrência comum com arquivos de log e itens semelhantes.

Esvaziar o conteúdo do arquivo especificado sem excluir via linha de comando