首页 电脑 电脑学堂 查看内容

利用shell计算find命令查出后的总文件大小

2011-8-9 13:59 870 0

摘要:   下午一个同事咨询如何计算find命令查询出来的文件总大小,想了想自己只能用shell脚本实现,于是就实践了下,脚本内容如下:#! /bin/bash  rm -rf&...
关键词: nbsp tmp txt count 脚本 sql SUM find rf root

  下午一个同事咨询如何计算find命令查询出来的文件总大小,想了想自己只能用shell脚本实现,于是就实践了下,脚本内容如下:#! /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
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部