shell脚本问题01--awk

简介:
2008年12月27日--awk处理日志时发现问题。
发现个问题,把几行命令写到一个脚本文件里面执行,和用for循环执行居然效果不同。
写了好多行命令时输出正常;用for循环执行的输出时是错误的数据。
下面具体说明:
需求:

想查看apache日志中00:00:00到00:59:59间的记录的总行数。
PS:有这个需求的原因是最近日志分期出了问题,访问量波动巨大。
我的思路:
想到用awk '/00:00:00/' log | wc >> wc.txt的方法找到00:00:00访问的记录的行数,然后1秒1秒的逐个运行之后再相加等等。
遇到的问题:
在一个..ch中写入如下内容时,可以正常的看到wc.txt里面有好多行,每行都会显示正常的数字,和单独运行一个awk命令是一样的没有问题。
awk '/00:00:00/' log | wc >> wc.txt
awk '/00:00:01/' log | wc >> wc.txt
在..ch中写入如下内容时,看到wc.txt里面也有好多行,但是每行的数字都是零这肯定是不对的。
for ((a=0;a<=1;a++));
do
awk '/00:00:0$a/' log | wc >> wc.txt;
done
 
2008年12月28日--看来是找到答案了。
27号发现问题后在CU-www.chinaunix.net论坛里面发帖求助。
请看帖子里面说明的。
 
2008年12月29日--最后的成果。
脚本一个(不过我觉得直接运行两行命令就行了,脚本里面就是加了个计算而已)内容如下:
#!/bin/bash
a=$(awk '/00:00:00/,/00:59:59/' 081222_access_log | wc -l)
b=$(awk '/00:59:59/' 081222_access_log | wc -l)
let "total=a+b-1"
echo "total=$total"









本文转自 sharkyan 51CTO博客,原文链接:http://blog.51cto.com/sharkyan/122819,如需转载请自行联系原作者
目录
相关文章
|
25天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
28天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
18 0
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
2天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
2天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
32 0
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
10天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
32 1