免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: gxxiaotian
打印 上一主题 下一主题

[文本处理] 在awk中使用continue语句,在UNIX正常,在LINUX中执行报错 [复制链接]

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
24 [报告]
发表于 2013-05-14 13:54 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
23 [报告]
发表于 2013-05-14 13:20 |只看该作者
回复 21# waker


    f($3 == "[Result")
                                {
                                        RowTime=substr($1,2)
                                        if(RowTime<StartTime || RowTime >=EndTime)                ############日志记录行时间小于时间戳或大于系统当前时间则跳过
                                        {
                                                continue
                                        }
                                        ......
                                }

他下面省略了

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
22 [报告]
发表于 2013-05-14 12:52 |只看该作者
回复 20# gxxiaotian


test.sh
  1. CfgDate=20130328102103
  2. StopTime=20130328102105
  3. COMMAND_DIR=/tmp/tmp/urfile
  4. st=urfile

  5. awk -F "]" -v StartTime=${CfgDate} -v EndTime=${StopTime} -v ComList=${COMMAND_DIR} 'BEGIN{
  6.     }
  7.     {
  8.         if(FILENAME==ComList)
  9.         {      
  10.             exist_flag[$0]=1;
  11.             Total[$0]=0
  12.             Fail[$0]=0
  13.         }
  14.         else
  15.         {
  16.             if($3 == "[Result")
  17.             {
  18.                 RowTime=substr($1,2)
  19.                 if((RowTime<StartTime) || (RowTime >=EndTime))
  20.                 {
  21.                     print $0
  22.                     next
  23.                 }
  24.             }
  25.         }
  26.     }END{
  27.    
  28.     }' $COMMAND_DIR $st
复制代码
[root@ tmp]# cat urfile
[20130328102101][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102102][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102103][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102104][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102105][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102106][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102107][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102108][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102109][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]

[root@ tmp]# ./test.sh
[20130328102101][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102102][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102105][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102106][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102107][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102108][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]
[20130328102109][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="FAIL";]

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
21 [报告]
发表于 2013-05-14 12:28 |只看该作者
if(RowTime<StartTime || RowTime >=EndTime)                ############日志记录行时间小于时间戳或大于系统当前时间则跳过

没看到你要 continue什么东西啊?
如果你想立即处理下一行, 那用next

论坛徽章:
0
20 [报告]
发表于 2013-05-14 11:39 |只看该作者
回复 19# Shell_HAT

[20130328102107][4][Result][125][21][iuseradm][internal][2][The command is failed][4][abcdefg][RETN=1003,DESC="处理失败";]

开始时间和结束时间传14位数字串

   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
19 [报告]
发表于 2013-05-14 11:29 |只看该作者
回复 18# gxxiaotian


    st的文件内容可以贴出来一部分吗?我测试一下

论坛徽章:
0
18 [报告]
发表于 2013-05-14 11:25 |只看该作者
回复 15# Shell_HAT

我刚确实贴了代码不知道怎么没了
awk -F "]" -v StartTime=${CfgDate} -v EndTime=${StopTime} -v ComList=${COMMAND_DIR} 'BEGIN{
        }
        {
                if(FILENAME==ComList)
                {       
                        exist_flag[$0]=1;
                        Total[$0]=0                                #统计每条命令码对应的执行总数
                        Fail[$0]=0                                #统计每条命令码对应的失败数
                }
                else
                {
                                if($3 == "[Result")
                                {
                                        RowTime=substr($1,2)
                                        if(RowTime<StartTime || RowTime >=EndTime)                ############日志记录行时间小于时间戳或大于系统当前时间则跳过
                                        {
                                                continue
                                        }
                                        ......
                                }
                }
        }END{
   
        }' $COMMAND_DIR $st

st是   目录/文件名

就这段代码,在UNIX环境下运行没问题,也可以处理我想要的文件,但在LINUX下就报continue那地方错误
   

论坛徽章:
0
17 [报告]
发表于 2013-05-14 11:08 |只看该作者
代码呢?
好像没看到

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
16 [报告]
发表于 2013-05-14 10:36 |只看该作者
回复 15# Shell_HAT


    没啦,就是没贴代码。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
15 [报告]
发表于 2013-05-14 10:32 |只看该作者
论坛出问题了?怎么有些回帖看不到啊
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP