wc -c < filename
(abréviation de nombre de mots, -c
imprime le nombre d'octets) est une solution POSIX portable. Seul le format de sortie peut ne pas être uniforme sur toutes les plates-formes car certains espaces peuvent être ajoutés (ce qui est le cas pour Solaris).
N'omettez pas la redirection d'entrée. Lorsque le fichier est passé en argument, le nom du fichier est imprimé après le nombre d'octets.
J'avais peur que cela ne fonctionne pas pour les fichiers binaires, mais cela fonctionne bien sous Linux et Solaris. Vous pouvez essayer avec wc -c < /usr/bin/wc
. De plus, les utilitaires POSIX sont garantis pour gérer les fichiers binaires, sauf indication contraire explicite.
J'ai fini par écrire mon propre programme (vraiment petit) pour n'afficher que la taille. Plus d'informations ici :http://fwhacking.blogspot.com/2011/03/bfsize-print-file-size-in-bytes-and.html
Les deux manières les plus propres à mon avis avec les outils Linux courants sont :
$ stat -c %s /usr/bin/stat
50000
$ wc -c < /usr/bin/wc
36912
Mais je ne veux tout simplement pas taper des paramètres ou diriger la sortie juste pour obtenir une taille de fichier, donc j'utilise mon propre bfsize.
Même si du
imprime généralement l'utilisation du disque et non la taille réelle des données, GNU coreutils du
peut imprimer la "taille apparente" du fichier en octets :
du -b FILE
Mais cela ne fonctionnera pas sous BSD, Solaris, macOS, ...