方法是利用 xargs 管道命令来调用 du 命令。
示例1:统计find命令查找出来的文件的大小和总大小
# -c:总大小,-b:以bytes为单位
$ find ./ -iname "*.py" | xargs du -cb
运行结果:
381./sum_all_numbers.py
487./parse_resource.py
471./test.py
2871./diff_excel.py
3338./xml_parser.py
2059./dir_parser.py
9607总用量
示例2:allfiles.txt文本文件中列出了要统计文件大小的所有文件名(包含路径)
$ cat allfiles.txt | xargs du -cb
# 等同于:
$ du -cb `cat allfiles.txt`
运行结果:
6144./temp/file1.xls
6144./temp/file2.xls
197./adb-restart-server.sh
381./sum_all_numbers.py
487./parse_resource.py
196./allfiles.txt
78./test.sh
471./test.py
9./Makefile.mk
2871./diff_excel.py
3338./xml_parser.py
2059./dir_parser.py
22375总用量
示例3:统计ls命令找到的所有文件的大小
$ ls *.sh | xargs du -cb 运行结果:
197adb-restart-server.sh
78test.sh
275总用量