Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何从shell脚本获取以字节为单位的文件大小?_Macos_Bash_Terminal - Fatal编程技术网

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

Macos 如何从shell脚本获取以字节为单位的文件大小?,macos,bash,terminal,Macos,Bash,Terminal,我正在尝试创建一个脚本,为苹果的ITMSP Transporter文件编写一个XML文件,用于将元数据上传到应用商店。截图要求文件名、MD5校验和和文件大小(以字节为单位) MD5校验和很简单,可以用MD5-q image.png 然而,我很难获得图像文件的字节大小。如果我使用du-k image.png命令,它将返回以千字节为单位的四舍五入大小。因此,例如,如果实际大小为5722字节,du将返回8(如8K或8192字节),这是不正确的。du的默认值是512字节的块,但仍然将值向上舍入(因此它将

我正在尝试创建一个脚本,为苹果的ITMSP Transporter文件编写一个XML文件,用于将元数据上传到应用商店。截图要求文件名、MD5校验和和文件大小(以字节为单位)

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

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

我正在运行Lion OSX 10.7.4。

一个简单的方法是:

stat -f%z image.png

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

在OSX上,do
stat-f“%z字节”

太棒了!我以前没有使用过这个命令+1在我发布后2分钟内快速响应!统计:无效选项--“%”:(如果我想要它,比如说,兆字节,怎么办?@pixel67,不……那只会显示以字节为单位的大小和“兆字节”一词)之后it@user3019105这不是一个好主意。根据您的区域设置,
wc
可能会尝试计数UTF-8字符,而不是字节,这在二进制数据上无法正常工作。在我的计算机(macOS Big Sur 11.4(20F71))上无法正常工作。但是,这是:stat-c%s文件