Contenuto vuoto del file specificato senza eliminarlo tramite riga di comando

Se stai lavorando alla riga di comando e hai bisogno di svuotare rapidamente il contenuto di un file, puoi farlo tirando un simbolo più grande e uno spazio davanti al nome del file in questione.

Come cancellare il contenuto del file dalla riga di comando

Il trucco per rimuovere il contenuto di un file preservando il file è il seguente:

> filename

Questo approccio funziona in bash e in molte altre shell, ma puoi anche usare una variante di echo se non funziona in zsh o in un'altra shell. Per zsh, utilizzare quanto segue per cancellare il contenuto di un file dalla riga di comando utilizzando echo null e redirection:

echo -n > filename

Tutto il contenuto all'interno del file di destinazione verrà immediatamente rimosso senza preavviso, lasciandolo vuoto conservando l'esistenza, il nome file e le autorizzazioni dei file. Questo è spesso preferibile e più rapido rispetto all'eliminazione e alla ricreazione manuale di un file.

Un buon esempio pratico è quello di eliminare il contenuto dei file di registro, ad esempio:

> ~/Library/Logs/updates.log

O ottenendo lo stesso effetto con il reindirizzamento echo:

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

È inoltre possibile utilizzare questo comando per creare un nuovo file a 0 byte nella posizione, in modo simile all'utilizzo del comando touch.

Questo è particolarmente utile se si desidera mantenere invariate le autorizzazioni di un determinato file, ma si desidera sovrascrivere il contenuto, un'occorrenza comune con file di registro e voci simili.