3

我试图找出给定用户拥有的所有文件的总大小。

我试过这个:

find $myfolder -user $myuser -type f -exec du -ch {} +

但这给了我一个错误:

缺少 exec 的参数

而且我不知道如何解决它。有人可以帮我吗?

4

3 回答 3

2

您只需要终止 -exec。如果您想要每个目录的总数,可能-type d是必需的。

find $myfolder -user $myuser -type d -exec du -ch {} \;
于 2013-05-04T19:50:03.543 回答
1

利用:

find $myfolder -user gisi -type f -print0 | xargs -0 du -sh

用户gisi是我的猫;)

注意-s汇总选项

进一步注意,我使用find ... -print0which 一方面按0字节分隔文件名,这是文件名中不允许的少数字符之一,另一方面xargs -0使用0字节作为分隔符。这确保即使是异国情调的文件名也不会成为问题。

于 2013-05-04T19:49:44.700 回答
0

某些版本的 find 命令不喜欢使用“+”来终止 find 命令,使用“\;” 而不是“+”

于 2013-05-05T03:35:10.010 回答