当前位置:  技术问答>linux和unix

写shell脚本获取指定内容的日志信息??

    来源: 互联网  发布时间:2016-08-30

    本文导语:  有如下日志信息: ====log===== ..... (0)aa=+s000/(1)bb=xxxx/xh=1/xl=2/xj=3/(2)cc=1111/(3)dd=+r111/(4)ee="mmmm1"/ff="wz-a1"/ (0)aa=+s111/(3)bb=yyyy/xh=1/xl=2/xj=3/(4)cc=1112/(5)dd=+r444/(6)ee="mmll1"/ff="ww-a2"/ (0)aa=+s000/(2)bb=xzzz/xh=1/xl=2/xj=3/(4)cc=1113/(5)dd=+r111/(4)ee=...

有如下日志信息:
====log=====
.....
(0)aa=+s000/(1)bb=xxxx/xh=1/xl=2/xj=3/(2)cc=1111/(3)dd=+r111/(4)ee="mmmm1"/ff="wz-a1"/
(0)aa=+s111/(3)bb=yyyy/xh=1/xl=2/xj=3/(4)cc=1112/(5)dd=+r444/(6)ee="mmll1"/ff="ww-a2"/
(0)aa=+s000/(2)bb=xzzz/xh=1/xl=2/xj=3/(4)cc=1113/(5)dd=+r111/(4)ee="mmii1"/ff="wz-a2"/
(0)aa=+s222/(1)bb=xxzz/xh=1/xl=2/(2)cc=1114/(3)dd=+r333/(4)ee="mmjj1"/ff="wz-a11"/
(0)aa=+s222/(1)bb=xzzzx/xh=1/xl=2/xj=3/(2)cc=1115/(3)dd=+r333/(4)ee="mmnn1"/ff="wz-a33"/
(0)aa=+s000/(1)bb=xxyy/xh=1/xl=2/xj=3/(2)cc=1116/(3)dd=+r111/(4)ee="mmoo1"/ff="wz-a3"/
(0)aa=+s211/(1)bb=xxoo/xh=1/xl=2/(2)cc=1117/(3)dd=+r222/(4)ee="mmzz1"/ff="ww-a22"/
......

通过编写shell脚本获得aa=,dd=字段的值相同,ff=字段包含"wz"的行,列出这些行cc字段的值,并计算各自的数目。
如例中日志的输出应该是:
(0)aa=+s000/(1)bb=xxxx/xh=1/xl=2/xj=3/(2)cc=1111/(3)dd=+r111/(4)ee="mmmm1"/ff="wz-a1"/
(0)aa=+s000/(2)bb=xzzz/xh=1/xl=2/xj=3/(4)cc=1113/(5)dd=+r111/(4)ee="mmii1"/ff="wz-a2"/
(0)aa=+s000/(1)bb=xxyy/xh=1/xl=2/xj=3/(2)cc=1116/(3)dd=+r111/(4)ee="mmoo1"/ff="wz-a3"/
(0)aa=+s222/(1)bb=xxzz/xh=1/xl=2/(2)cc=1114/(3)dd=+r333/(4)ee="mmjj1"/ff="wz-a11"/
(0)aa=+s222/(1)bb=xzzzx/xh=1/xl=2/xj=3/(2)cc=1115/(3)dd=+r333/(4)ee="mmnn1"/ff="wz-a33"/
3,cc=1111,cc=1113,cc=1116
2,cc=1114,cc=1115

这样的shell脚本应该怎样写?同时由于数据量大,还要注意执行效率。

P.S.>由于这是一段日志信息,所以得出相同的值绝对不会是固定的,类似grep aa=+s000 log的命令实现是不能达到效果的,意思就是grep ... log 中...的值必为变量。

|
cat log | awk -F'[=]|[/]' '{if($1==$14 && $18 ~ /wz/) print $12}' | awk '{a[$1]++}END{for(i in a) print i,a[i]}'

    
 
 

您可能感兴趣的文章:

  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • shell脚本问题 关于父脚本和子脚本的问题
  • shell脚本错误输出
  • 请教shell脚本启动程序
  • 关于shell脚本的。
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • 高分请教关于Shell脚本执行中断问题?
  • linux shell脚本
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • 求一SHELL(Linux下批量将指定目录文件传到指定远程服务器的指定目录)!
  • shell,如何遍历出指定位置包含指定字符串的文件名?
  • shell 如何查找出 指定目录下所有文件(含文件夹)的里面 指定字符串
  • 在指定目录查找指定后缀文件的shell脚本代码
  • shell 删除目录下指定的文件?
  • 如何在 shell 中使用一行命令,结束指定名称的进程
  • shell脚本中怎样获得指定的两个日期相差的天数
  • 从文件中取出指定行(shell)
  • 在C SHELL中,如何判断在某一指定目录下是否有已知文件名存在?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • Shell获取系统时间问题
  • linux如何获取当前程序ID并用shell脚本停止进程
  • shell获取CPU数
  • 怎样让shell获取gcc调试信息
  • shell获取main函数的返回值
  • 请教SHELL语句如何获取程序的安装路径?
  • Shell编程中如何获取环境变量中设置的路径
  • shell如何获取oracle错误码 在线等
  • shell脚本获取30天前的日期
  • 在shell编程中,怎样获取当前时间
  • linux shell 获取输出值
  • shell script如何获取返回的参数
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • 在shell中如何获取当前日期和时间
  • 如何获取shell词法分析,语法分析及解释器的内容和信息
  • Linux下关于shell程序的源代码如何获取?50分求救!
  • 【SHELL】如何获取程序反馈信息??????????
  • 如何获取shell脚本中某条语句的执行时间
  • 关于在shell脚本中如何获取cd命令的返回值
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 编程技术其它 iis7站长之家
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3