我正在尝试找出给定用户拥有的所有文件的总大小。
我试过这个:
find $myfolder -user $myuser -type f -exec du -ch {} +
但这给了我一个错误:
缺少exec的参数
我不知道如何解决它。有人可以帮我这个吗?
答案 0 :(得分:2)
您只需要终止-exec。如果您想要每个目录的总计
可能需要-type d
。
find $myfolder -user $myuser -type d -exec du -ch {} \;
答案 1 :(得分:1)
使用:
find $myfolder -user gisi -type f -print0 | xargs -0 du -sh
用户gisi
是我的猫;)
请注意摘要
选项-s
进一步请注意,我正在使用find ... -print0
,它一方面将文件名分隔0
个字节,这是文件名中不允许的少数几个字符之一,另一方面{ {1}}使用xargs -0
字节作为分隔符。这确保即使异国情调文件名也不会成为问题。
答案 2 :(得分:0)
某些版本的find命令不喜欢“+”来终止find命令 使用 ”\;”而不是“+”