免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1077 | 回复: 0
打印 上一主题 下一主题

[文本处理] 如何按字段查询得到文件相关的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-24 16:12 |只看该作者 |倒序浏览
本帖最后由 molaifeng 于 2012-10-24 16:16 编辑

大家好,我在/var/asg/log/confRec/ 路径下放了三个这样的文件conference20121012.rec conference20121018.rec conference20121019.rec,文件里的内容大致为如下样式


  1. 1350551303:2001:2003 was set to unmute
  2. 1350551304:2001:2002 was set to unmute
  3. 1350551307:2001:2002 was kicked out from conference
  4. 1350551308:2001:2002 was left conference
  5. 1350551310:2001:2002 was invited to join the conference
  6. 1350551311:2001:2002 was join in conference
  7. 1350551349:2001:2002 was set to unmute
  8. 1350551369:2001:2002 was set to mute
  9. 1350551415:2001:conference end
  10. 1350551416:2001:2002 was left conference
  11. 1350551416:2001:2003 was left conference

复制代码
我写了个shell脚本

  1. #!/bin/sh

  2. path="/var/asg/log/confRec/";

  3. function queryData()
  4. {
  5.     if [ ! -d $path ]
  6.     then
  7.         echo ""
  8.         exit
  9.     fi

  10.     sdate=`echo $1 | cut -d: -f1`
  11.     edate=`echo $1 | cut -d: -f2`
  12.     num=`echo $1 | cut -d: -f3`
  13.     file=`ls $path | grep [0-9]`
  14.    
  15.    
  16.     for x in $file
  17.     do
  18.         tac $x | awk -v num=$num 'BEGIN{
  19.         FS=":";
  20.         }
  21.         {
  22.             if( (num!="" && $2==num) || num=="" ){
  23.                 printf("%s\n",$0);
  24.             }
  25.         }'
  26.     done


  27. }

  28. #
  29. # main routine
  30. #

  31. action="$1"
  32. setting="$2"

  33. case $action in

  34.     query_data)
  35.         queryData $setting
  36.     ;;

  37.     *)
  38.     ;;

  39. esac
复制代码
本来是想实现查询在开始时间到结束时间之内文件的内容的,可是第一步都显示不出来,也就是在文件内按字段查询,是不是哪里出现了问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP