![仅从“du”命令获取大小,而不是文件夹名称](https://linux22.com/image/1343074/%E4%BB%85%E4%BB%8E%E2%80%9Cdu%E2%80%9D%E5%91%BD%E4%BB%A4%E8%8E%B7%E5%8F%96%E5%A4%A7%E5%B0%8F%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%8D%E7%A7%B0.png)
我正在编写一个 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