一、三种方法

1.exec读取文件

exec <file
sum=0
while read line
do
cmd
done

2. cat读取文件

cat file|while read line
do
cmd
done
  • 推荐用途:

    通过awk等三剑客获取文件中的数据后,可以使用这种方法用管道抛给while按行读取

3. while循环最后加重定向

while read line
do
cmd
done<file
  • 推荐用途:

    直接按行读取文件中的内容时,推荐用此方法

二、案例

读取web日志文件,把日志文件中每行中的访问字节数相加,统计访问总量

  • cat /server/scripts/c9.sh
#!/bin/bash
sum=0
exec <$1
while read line
do
size=`echo $line|awk '{print $10}'`
expr $size + 1 &>/dev/null
if [ $? -ne 0 ];then
continue
fi
((sum=sum+$size))
done
echo "${1}:total:${sum}bytes =`echo $((${sum}/1024))`KB"

最新文章

  1. 骨骼动画的实现(OpenGL实现)
  2. 下载SRA文件
  3. 移位操作&lt;&lt;和&gt;&gt;,是逻辑数字上的移动(和大端小端无关)
  4. jquery设置和获得checkbox选中问题
  5. POJ 1700 Crossing River (贪心)
  6. Android listView如何判断数据多屏显示 (2012-03-06 09:47:04)
  7. 设计模式之开篇(C#语法)
  8. flexPaper +swftools实现文档在线阅读
  9. Delphi webservice 定义 转
  10. cf D. Pair of Numbers
  11. NULL和nullptr的区别
  12. 体系结构复习2——指令级并行(分支预測和VLIW)
  13. Fiddler插件 --- 解密Elong Mapi请求参数及响应内容
  14. Linq to sharepoint
  15. tensorflow-变量
  16. centos中pipelinedb安装及初步使用
  17. beginner’s mistake
  18. ASP.NET Application Life Cycle
  19. WCF(四) 绑定
  20. Motion Blur

热门文章

  1. winform 子控件触发父控件事件
  2. Ping命令的基本使用
  3. C#笔记誊录
  4. zabbix连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
  5. 记一次Mybatis-Plus动态分表DynamicTableNameInnerInterceptor里无法动态替换表名的坑
  6. SAP适合医疗器械行业的公司、工厂吗?
  7. Cgroup学习笔记3—代码实现—相关结构和全局变量
  8. js中,作用域与作用域链的概念
  9. 技嘉b75m-d3v在nvme固态安装win7并且oem激活的实现过程
  10. Winform帮助文档(C#打开chm定位到特定页面)国内最全总结写法。原文文档带翻译