我想知道如何在过去30天内获取修改过的文件的总大小。
我找到了这个命令,他只能在过去30天内给我修改过的文件列表。
find . -name '*' -mtime -30
这很有用,但我想知道这个列表的总大小。
有人可以帮忙解决这个问题吗?
答案 0 :(得分:7)
也许这样做:
find . -mtime -30 -exec ls -l {} \;| awk '{s+=$5} END {print "Total SIZE: " s}'
答案 1 :(得分:0)
您可以通过查找输出每个文件的大小,然后total them up with awk
来完成此操作find . -name '*' -mtime -30 -printf '%s\n' | awk '{s+=$1} END {print s}'
答案 2 :(得分:0)
尝试将工作查找命令的输出汇总到du
以查看输出是否令人满意。您可以使用du
开关-c
生成总计,也可以使用-h
来生成人类可读的内容。
例如:
<your command> | du -c
变为:
find . -name '*' -mtime -30 | du -c
如果您只想要总行数:
find . -name '*' -mtime -30 | du -c | grep "total"
产生输出:
360 total
并使用du -ch
生成:
360K total