web-dev-qa-db-fra.com

Comment obtenir la taille du fichier en octets à partir du script Shell?

J'essaie de créer un script pour écrire un fichier XML pour les fichiers ITMSP Transporter d'Apple pour télécharger des métadonnées sur l'App Store. Les exigences pour les captures d'écran sont le nom de fichier, la somme de contrôle MD5 et la taille du fichier en octets.

La somme de contrôle MD5 est simple et peut être récupérée avec md5 -q image.png

J'ai cependant du mal à obtenir la taille en octets du fichier image. Si j'utilise du -k image.png commande, elle renvoie la taille arrondie au kilo-octet. Par exemple, si la taille réelle est de 5722 octets, du renverra 8 (comme dans 8K ou 8192 octets), ce qui n'est pas correct. Et la valeur par défaut pour du est en blocs de 512 octets mais arrondit toujours la valeur (elle renverra donc 16 au lieu de 8).

J'utilise Lion OSX 10.7.4.

34
jsherk

Une approche simple est:

stat -f%z image.png

stat crache normalement un tas de données, mais le %z le format sélectionne simplement la taille en octets.

65
duskwuff

Sous OSX, faites stat -f "%z bytes".

6
pixel 67