我有一个包含一些文件路径的文件,例如:
./file1
./dir/file2
./dir3/dir4/fil3
etc
我怎样才能找到所有这些的总文件大小?我知道“du”用于获取单个文件的文件大小,但不知道如何使用文件。
谢谢
我有一个包含一些文件路径的文件,例如:
./file1
./dir/file2
./dir3/dir4/fil3
etc
我怎样才能找到所有这些的总文件大小?我知道“du”用于获取单个文件的文件大小,但不知道如何使用文件。
谢谢
您可以使用 du 给出多个文件的总大小
cat file | tr "\n" "\0" | du -ch --files0-from=- | tail -n1
使用 awk 获取文件大小
cat file | awk '{system("ls -l " $0)}' | awk '{ TOTAL += $5} END { print TOTAL}'
编辑:命名选项--files0-from
是 GNU 扩展,所以这个建议的解决方案不适用于任何非 GNU coreutils du 版本。由于您不想要它,因此awk
您应该尝试使用 Vivek Goel 发布的版本。
你已经回答了你自己的问题。使用du
是关键。您正在寻找的“缺失”选项可能是在手册页中找到的。(曼杜)
--files0-from=F
总结文件 F 中指定的以 NUL 结尾的文件名的磁盘使用情况;如果 F 是 - 则从标准输入中读取名称
用法是这样的:
tr "\n" "\0" <file-list | du --files0-from=-