Comment vider ou effacer le contenu d'un fichier UNIX existant

Si vous souhaitez vider le contenu d'un fichier UNIX, vous pouvez le supprimer et le recréer, mais, comme c'est typique d'UNIX, il existe des alternatives plus élégantes. Voici deux façons de vider les entrailles d'un fichier. Si vous en connaissez d'autres, ajoutez-les aux commentaires.


Le fichier spécial / dev / null ne contient rien. Bien qu’elle soit utilisée le plus souvent comme un puits de néant, comme l’écriture d’une sortie que vous ne voulez pas conserver, elle peut également servir de source de néant. Pour remplacer le contenu du fichier blah.txt avec rien, vous pouvez utiliser la commande

cat / dev / null> blah.txt

Cette commande a du sens car elle utilise la redirection UNIX standard pour placer le contenu d'un fichier (un fichier vide connu) dans un autre fichier. Une autre façon de le faire, bien que moins évidente et probablement moins lisible dans un script shell par d’autres, est:

> blah.txt