博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用shell计算find命令查出后的总文件大小
阅读量:6280 次
发布时间:2019-06-22

本文共 852 字,大约阅读时间需要 2 分钟。

  下午一个同事咨询如何计算find命令查询出来的文件总大小,想了想自己只能用shell脚本实现,于是就实践了下,脚本内容如下:

 
  1. #! /bin/bash  
  2. rm -rf    /tmp/tmp.txt  
  3. rm -rf    /tmp/count.txt  
  4. rm -rf    /tmp/1.sql  
  5. find /root/* -type f -name "*.txt" > /tmp/tmp.txt  
  6.  
  7. NUM=$(cat /tmp/tmp.txt | wc -l)  
  8.  
  9. for (( i=1; i<=$NUM; i=i+1));  
  10.         do  
  11.         LINE=$(sed -n "$i"p  /tmp/tmp.txt)  
  12.         ls -l $LINE |cut -d ' ' -f 5 >> /tmp/count.txt  
  13. done  
  14.  
  15.  
  16.  
  17. NUM1=$(cat /tmp/count.txt | wc -l)  
  18. for (( i=1; i<=$NUM1; i=i+1));  
  19. do  
  20.    A=$(sed -n "$i"p  /tmp/count.txt)  
  21.    echo -n $A + >> /tmp/1.sql  
  22. done  
  23.  
  24.  
  25. SUM=$(echo "$(sed 's/.$//' /tmp/1.sql)" |bc)  
  26. echo "$SUM" 
  27.  
  28. rm -rf    /tmp/tmp.txt  
  29. rm -rf    /tmp/count.txt  
  30. 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

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/634433如需转载请自行联系原作者

ylw6006

你可能感兴趣的文章
VMware虚拟化技术培训(2)了解vSphere
查看>>
IPTABLES
查看>>
XML的读、写操作
查看>>
OC 省市区划分
查看>>
输出 和*组成的菱形
查看>>
label 和 button下划线
查看>>
关于对strcpy函数的编写与优化
查看>>
PHP 简易留言板制作小实例
查看>>
python之列表、元组、字典
查看>>
linux目录基础知识
查看>>
用户组与权限管理的理解及切换用户相关命令使用
查看>>
vue中使用vue-resource发送ajax请求
查看>>
python join和split和strip用法
查看>>
I/O子零碎的条理构造
查看>>
沉寂许久,来一个工具——supervisor
查看>>
ansible插件之统计任务处理时间
查看>>
新手从Python的哪个版本开始学比较好?
查看>>
linux bash shell中for的用法and示例
查看>>
所有和Java中代理有关的知识点都汇集于此,速进学干货。
查看>>
开机启动的全过程
查看>>