Esvaziar o conteúdo do arquivo especificado sem excluir via linha de comando
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.