wc -c < filename
(kurz für Wortzahl, -c
druckt die Byteanzahl) ist eine portable POSIX-Lösung. Nur das Ausgabeformat ist möglicherweise nicht plattformübergreifend einheitlich, da einige Leerzeichen vorangestellt werden können (was bei Solaris der Fall ist).
Lassen Sie die Eingabeumleitung nicht weg. Wenn die Datei als Argument übergeben wird, wird der Dateiname nach der Byteanzahl ausgegeben.
Ich war besorgt, dass es nicht für Binärdateien funktionieren würde, aber es funktioniert sowohl unter Linux als auch unter Solaris. Sie können es mit wc -c < /usr/bin/wc
versuchen . Darüber hinaus wird garantiert, dass POSIX-Dienstprogramme Binärdateien handhaben, sofern nicht ausdrücklich anders angegeben.
Am Ende schrieb ich mein eigenes Programm (wirklich klein), um nur die Größe anzuzeigen. Weitere Informationen hier:http://fwhacking.blogspot.com/2011/03/bfsize-print-file-size-in-bytes-and.html
Die zwei saubersten Wege meiner Meinung nach mit gängigen Linux-Tools sind:
$ stat -c %s /usr/bin/stat
50000
$ wc -c < /usr/bin/wc
36912
Aber ich möchte einfach keine Parameter eingeben oder die Ausgabe leiten, nur um eine Dateigröße zu erhalten, also verwende ich meine eigene bfsize.
Obwohl du
gibt normalerweise die Festplattennutzung und nicht die tatsächliche Datengröße aus, GNU coreutils du
kann die "scheinbare Größe" der Datei in Bytes drucken:
du -b FILE
Aber es funktioniert nicht unter BSD, Solaris, macOS, ...