其他2-while+read按行读取文件
2024-10-12 19:16:45
一、三种方法
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"
最新文章
- 骨骼动画的实现(OpenGL实现)
- 下载SRA文件
- 移位操作<;<;和>;>;,是逻辑数字上的移动(和大端小端无关)
- jquery设置和获得checkbox选中问题
- POJ 1700 Crossing River (贪心)
- Android listView如何判断数据多屏显示 (2012-03-06 09:47:04)
- 设计模式之开篇(C#语法)
- flexPaper +swftools实现文档在线阅读
- Delphi webservice 定义 转
- cf D. Pair of Numbers
- NULL和nullptr的区别
- 体系结构复习2——指令级并行(分支预測和VLIW)
- Fiddler插件 --- 解密Elong Mapi请求参数及响应内容
- Linq to sharepoint
- tensorflow-变量
- centos中pipelinedb安装及初步使用
- beginner’s mistake
- ASP.NET Application Life Cycle
- WCF(四) 绑定
- Motion Blur
热门文章
- winform 子控件触发父控件事件
- Ping命令的基本使用
- C#笔记誊录
- zabbix连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- 记一次Mybatis-Plus动态分表DynamicTableNameInnerInterceptor里无法动态替换表名的坑
- SAP适合医疗器械行业的公司、工厂吗?
- Cgroup学习笔记3—代码实现—相关结构和全局变量
- js中,作用域与作用域链的概念
- 技嘉b75m-d3v在nvme固态安装win7并且oem激活的实现过程
- Winform帮助文档(C#打开chm定位到特定页面)国内最全总结写法。原文文档带翻译