仅从“du”命令获取大小,而不是文件夹名称

仅从“du”命令获取大小,而不是文件夹名称

我正在编写一个 applescript,用于将文件夹的大小设置为变量。这是目前的代码:

set sizeVar to do shell script "du -skh -m /Users/JS_Admin/Desktop"

输出:

"4242   /Users/JS_Admin/Desktop"

问题是我只想要数字的大小,不需要空格或目录位置。

我怎么做?

答案1

同时指定-k-m是没有意义的:您要么想要 1 MB 块,要么想要 1 KB 块。与和-h结合使用也是没有意义的。只有最后一个会被考虑-k-m-m

您可以使用cut删除空格后的任何内容:

du -sm /Users/JS_Admin/Desktop | cut -f1

指定-f您需要哪个字段(在本例中是第一个)。

答案2

一种使用的方法awk

du -s /path/to/folder | awk '{ print $1 }'

$1指的是第一列。关于du -s

-s, --summarize
     display only a total for each argument

相关内容