统计符合条件的文件的大小。
时间:2010-10-12 来源:sxxs001
今天遇到个需求
找出 上月 9月1日至30日 所有 新增的的文件,并统计出大小。
先看下 9月1日 距离今日多久
[root@hawk01-003 yoohouse_files]# date -d "-41 days" +%Y%m%d
20100901
9月30日 距离今日多久
[root@hawk01-003 yoohouse_files]# date -d "-11 days" +%Y%m%d
20101001
find . -type f -mtime +11 -mtime -41 -exec du -k {} \; | awk -F' ' '{print $1}' | awk '{sum=sum+$0/1024/1024}END{print sum}'
find . -type f -mtime +11 -mtime -41 查出类型为普通文件 41天内 11天前 的 所有文件。
du -k 对列出符合条件的文件进行文件大小统计 以k 为单位 du -h的话 显示出的是 k mb gb 不符合我的统计需求。
awk -F' ' '{print $1}' 取出第一列 即 文件大小那列
awk '{sum=sum+$0/1024/1024}END{print sum}' 对取出的所有列进行相加和相除运算 得出结果为GB。
2 统计两个目录大小
du -h --max-depth=1 --exclude=mysql-bin.* /usr/local/mysql/var/
--exclude 不统计的内容。
找出 上月 9月1日至30日 所有 新增的的文件,并统计出大小。
先看下 9月1日 距离今日多久
[root@hawk01-003 yoohouse_files]# date -d "-41 days" +%Y%m%d
20100901
9月30日 距离今日多久
[root@hawk01-003 yoohouse_files]# date -d "-11 days" +%Y%m%d
20101001
find . -type f -mtime +11 -mtime -41 -exec du -k {} \; | awk -F' ' '{print $1}' | awk '{sum=sum+$0/1024/1024}END{print sum}'
find . -type f -mtime +11 -mtime -41 查出类型为普通文件 41天内 11天前 的 所有文件。
du -k 对列出符合条件的文件进行文件大小统计 以k 为单位 du -h的话 显示出的是 k mb gb 不符合我的统计需求。
awk -F' ' '{print $1}' 取出第一列 即 文件大小那列
awk '{sum=sum+$0/1024/1024}END{print sum}' 对取出的所有列进行相加和相除运算 得出结果为GB。
2 统计两个目录大小
du -h --max-depth=1 --exclude=mysql-bin.* /usr/local/mysql/var/
--exclude 不统计的内容。
相关阅读 更多 +