如何从shell脚本获取文件大小(以字节为单位)?

时间:2013-09-08 23:15:50

标签: macos bash terminal

我正在尝试创建一个脚本来为Apple的ITMSP Transporter文件编写XML文件,以便将元数据上传到App Store。屏幕截图的要求是文件名,MD5校验和和文件大小的字节。

MD5校验和很简单,可以使用md5 -q image.png

检索

但是我很难尝试获取图像文件的字节大小。如果我使用du -k image.png命令,它将返回以千字节为单位的大小。因此,例如,如果实际大小为5722字节,du将返回8(如8K或8192字节),这是不正确的。 du的默认值为512字节块,但仍然向上舍入值(因此它将返回16而不是8)。

我正在运行Lion OSX 10.7.4。

3 个答案:

答案 0 :(得分:64)

一种简单的方法是:

stat -f%z image.png

stat通常会吐出一堆数据,但%z格式只选择字节大小。

答案 1 :(得分:5)

在OSX上执行stat -f "%z bytes"

答案 2 :(得分:-1)

对于如此晚的回复,我深表歉意,但我需要这样说。

打开Finder并单击要测量的文件。 然后按⌘I,然后在size(大小)下,您会看到文件大小(以字节为单位),其他文件大小(以KB,MB,GB或TB表示)将位于其旁边。

当您按⌘I时出现:

image