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

请教:如何用shell实现指定log文件中的指定内容的收集(续)

    来源: 互联网  发布时间:2016-09-18

    本文导语:  大家好,菜鸟的我上周发过一个帖子请教关于如何用shell实现指定log文件中的指定内容的收集。 具体请参考http://topic.csdn.net/u/20100804/21/067815c8-c5d6-499c-807e-6d16cb833cc6.html 论坛里的lylm大大给出了下列使用awk的解决方法,...

大家好,菜鸟的我上周发过一个帖子请教关于如何用shell实现指定log文件中的指定内容的收集。
具体请参考http://topic.csdn.net/u/20100804/21/067815c8-c5d6-499c-807e-6d16cb833cc6.html

论坛里的lylm大大给出了下列使用awk的解决方法,在此先向lylm大大再次表示感谢。(本人稍微调整了下输出结果的显示顺序)
file1.awk:
!/bin/awk -f
{
if($0 ~  /^SQL_ID/)
{
key=$2;getline;getline l;
split(l,pat,//*/);
split(pat[2],tmp,/*//);
#print tmp[1];
key=sprintf("%s%s",tmp[1],key);
x[key]++;
}
}
END{
for(i in x)
printf("%s %dn",i,x[i]);
}

根据上面方法的得到的输出结果例:
收集对象的文件的内容...(省略)
sn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1z0u, 4
rn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1z0u, 4
tn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1t0u, 2
(Action名称)                                 (SQL_ID )    (重复次数)

现在但我希望对输出结果的表示进行一些加工(让看得人更舒服)
因此在此请教各位如何实现以下三点
1)目前的程序执行 `awk -f file1.awk 对象文件  `命令后,会先显示一遍对象文件的所有内容之后才显示希望得到的统计结果,请问如果希望只显示统计结果而不显示对象文件的内容的话,应该如何修改file1.awk文件?

2)统计结果依次显示的3列内容分别是 Action名称 SQL_ID 重复次数。在此我希望对第一列也就是ACTION名称的那列进行排序(ABC依次到Z的顺序排)的话,如何实现?

3)目前的程序输出结果里,因为收集对象文件的SQL_ID最后都有个逗号,因此目前的输出结果里第二列的字符串最后也都有个逗号(比如0saby2c3v1z0u,),如何比较简单的把每项的这个逗号给去掉?(SQL_ID肯定是13位的数字+字母)

对比目前的输出结果,我希望修改后的程序输出结果是下面的样子
理想输出例:
rn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1z0u 4
sn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1z0u 4
tn.kdbs.action.search.pre.CompanyAction#index  0saby2c3v1t0u 2


希望各位能在目前的程序的基础上修改后实现以上3点。麻烦了。

|
这么处理一下
$ awk -f file1.awk test|grep -v SQL_ID|sort|sed 's/,//g'

|
2)和3)
awk -f file1.awk 对象文件 | sort | sed 's/,//g'

    
 
 

您可能感兴趣的文章:

  • 请教如何在指定目录下查找包含指定文字的文件
  • [请教]shell中删除指定行
  • 请教:如何将网卡ip地址由DHCP获取该为指定ip
  • 请教关于linux内存管理问题,如何给定义的变量指定固定内存段
  • 请教:如何在指定目录下建立一个类似于.bat的文件并编辑它
  • 请教 如何在linux中搜索指定的 字符串。
  • 请教各位大虾:怎样用ar命令将库文件释放到指定路径下
  • 请教:如何用简单的方式将某个指定目录下的几十个jar文件在CLASSPATH变量中注册?(50)
  • 请教Linux 读取指定目录中文件名的相关程序
  • 请教LINUX下本机有多块网卡取其中指定一块网卡所对应的IP方法
  • 请教:如何用shell实现指定log文件(比如a.log)中的指定内容(SQL_ID和SQL的处理部分)的收集
  • 请教一个正则表达式,匹配所有Html标签外部的指定字符串
  • 请教,如何用linux FTP命令,上传文件到windows指定目录?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题
  • 请教unix常用命令命令问题


  • 站内导航:


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

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

    浙ICP备11055608号-3