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

简介:

  下午一个同事咨询如何计算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

相关文章
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
1073 1
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
688 20
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
919 12
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
1314 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
3012 7
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
832 1
|
Unix Shell Linux
常见的shell命令
shell常用命令
602 11
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
633 6