利用shell计算find命令查出后的总文件大小
2011-08-08 17:37
701 查看
下午一个同事咨询如何计算find命令查询出来的文件总大小,想了想自己只能用shell脚本实现,于是就实践了下,脚本内容如下:
[root@rhel6 ~]# sh 1.sh
277109
其实也可以简单使用awk命令实现,不过不太懂awk,只能使用shell实现了,哈哈!
[root@rhel6 ~]# find ./* -name "*.txt" -exec ls -lh {} \;| awk 'BEGIN {SUM7=0}{ SUM7+=$5} END {print SUM7}'
272.1
本文出自 “斩月” 博客,谢绝转载!
#! /bin/bash rm -rf /tmp/tmp.txt rm -rf /tmp/count.txt rm -rf /tmp/1.sql find /root/* -type f -name "*.txt" > /tmp/tmp.txt NUM=$(cat /tmp/tmp.txt | wc -l) for (( i=1; i<=$NUM; i=i+1)); do LINE=$(sed -n "$i"p /tmp/tmp.txt) ls -l $LINE |cut -d ' ' -f 5 >> /tmp/count.txt done NUM1=$(cat /tmp/count.txt | wc -l) for (( i=1; i<=$NUM1; i=i+1)); do A=$(sed -n "$i"p /tmp/count.txt) echo -n $A + >> /tmp/1.sql done SUM=$(echo "$(sed 's/.$//' /tmp/1.sql)" |bc) echo "$SUM" rm -rf /tmp/tmp.txt rm -rf /tmp/count.txt rm -rf /tmp/1.sql
[root@rhel6 ~]# sh 1.sh
277109
其实也可以简单使用awk命令实现,不过不太懂awk,只能使用shell实现了,哈哈!
[root@rhel6 ~]# find ./* -name "*.txt" -exec ls -lh {} \;| awk 'BEGIN {SUM7=0}{ SUM7+=$5} END {print SUM7}'
272.1
本文出自 “斩月” 博客,谢绝转载!
相关文章推荐
- find -size 查出指定文件大小的命令
- shell学习:文件查找与打印文件列表命令find
- 利用fsutil命令创建指定大小的测试文件
- shell命令find删除修改后带尾巴的重复的文件
- linux 用find命令查找文件大小为XX的文件的办法
- shell命令find删除修改后带尾巴的重复的文件
- shell 文件大小计算
- 利用fsutil命令创建指定大小的测试文件
- shell命令find删除修改后带尾巴的重复的文件
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- 利用shell find命令删除过期的缓存方法示例
- Shell命令编写——显示文件的大小filesize
- [centos6.2] find的命令 查找系统中的大文件 并 列出大小
- SHELL学习之一《Linux文件查找命令find,xargs详述》(转)
- linux find命令出现Permission denied后怎么办?------利用linux黑洞文件/dev/null
- 统计find命令查到的文件的总大小
- shell 文件查找命令find
- Linux 用find命令查找文件大小为XX的文件的办法
- [Shell]使用find命令查找最近修改过的文件
- find 命令详解 基于文件大小,名字和权限等的查找策略以及-path和-prune的详细解释