如何在bash中获取某些文件夹的总大小?

时间:2015-11-09 04:36:33

标签: linux bash shell scripting

如何获取某些文件夹的总大小?

例如,我在users.txt中有一个特定文件夹名称列表

# cat users.txt
user1
user2
user3

所有这些文件夹都位于/ home /

我试图执行:

# for i in `cat users.txt`; do du -shc /home/$i/; done
3.9M    /home/user1/
3.9M    total
141M    /home/user2/
141M    total
75M /home/user3/
75M total

但我需要所有这些文件夹的总大小。

2 个答案:

答案 0 :(得分:3)

du -shc $(sed 's@^@/home/@' users.txt)

使用前缀为users.txt的{​​{1}}内容作为/home/的参数,因此它会为您求和。

答案 1 :(得分:-1)

您可以将du的输出传递给tail -n 1或执行

du -s directory

只能获得尺寸

du -s directory | cut -f1