linux文件数据处理(备忘)

1 文件处理主要使用了cat grep awk sed常用系统命令,记录下处理过程,文件名stdout.log,文件内容格式如下:

   [2015-01-08 14:14:00,658] [taskExecutor-2] WARN  [xxxxxxxxxxxxTask.java] - full chapter calc yellowCount=0,emptyCount=61,picCount=0,nid=21225,sort=62
   [2015-01-08 14:14:00,663] [taskExecutor-1] WARN  [xxxxxxxxxxxxTask.java] - full chapter calc yellowCount=0,emptyCount=0,picCount=0,nid=21223,sort=106

    一: 有一job全量计算公司现有所有小说的空章数,黄章数,图章数,在更新空黄图章前打印空黄图及小说所有章节数日志,job跑完发现有极个别的空黄图数大于章节总数sort,在正常情况下不会发生这种情况,那么问题在哪呢???日志文件包含其他日志信息,日志文件大小约为1G

     1 现有两个思路:

         1)把日志文件down到本地,写代码,

         2)利用linux系统命令

     2 按照第一个思路来做,发现这个办法行不通,公司网速太慢,down不动,放弃

     3 按照第二个思路来做

         1)过滤日志其他日志信息

              grep 'full chapter calc yellowCount' stdout.log > result.log

         2)截掉日期文件名日期无用信息

              cat result.log | awk '{print $10}' > result_1.log

         3)把=换成,

              sed "s/=/,/g" result_1.log > result_2.log(s表示替换命令,/=/表示匹配=,/,/表示把匹配替换成,,/g 表示一行上的替换所有的匹配

         4)获得空黄图大于sort值的数据

              awk -F, '$2>$10 || $4>$10 || $6>$10' result_2.log > result_3.log

         5)定位出异常数据并输出到result_3.log

     4 结果并没发现空黄图大于sort的数据,排除程序异常的可能,接下来查看小说表异常信息sort值均已改变,这是由于章节回扫其他程序把章节sort更改了,到此找到问题所在!

     5 附上耗子大神的sed,awk简明教程

         sed简明教程

         AWK简明教程

   

                


    

    


你可能感兴趣的:(linux文件数据处理(备忘))