免费注册 查看新帖 |

Chinaunix

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

[文本处理] 请问如何用AWK匹配AIX的errpt日志 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-03-04 10:13 |只看该作者 |倒序浏览
---------------------------------------------------------------------------
LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342

Date/Time:       Mon Mar  4 09:37:04 CST 2019
Sequence Number: 744404
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk3         
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3-P1-C3-T1-W5006016446E0264B-L0

VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4-480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10

Description
DISK OPERATION ERROR

Probable Causes
DASD DEVICE

Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A
---------------------------------------------------------------------------
LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342

Date/Time:       Mon Mar  4 09:36:47 CST 2019
Sequence Number: 744403
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk3         
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3-P1-C3-T1-W5006016446E0264B-L0

VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4-480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10

Description
DISK OPERATION ERROR

Probable Causes
DASD DEVICE

Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A
---------------------------------------------------------------------------
LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342

Date/Time:       Mon Mar  4 09:36:47 CST 2019
Sequence Number: 744402
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk2         
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3-P1-C3-T1-W5006016D46E0264B-L0

VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4-480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10

Description
DISK OPERATION ERROR

Probable Causes
DASD DEVICE

Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A
---------------------------------------------------------------------------

我想匹配含有hdisk2的一整段信息,以“---------------------------------------------------------------------------”为两端日志的分隔符。
请教一下,很急,谢谢各位了

论坛徽章:
0
2 [报告]
发表于 2019-03-04 10:17 |只看该作者
例如我想匹配出下面一整段的内容:
---------------------------------------------------------------------------
LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342

Date/Time:       Mon Mar  4 09:36:47 CST 2019
Sequence Number: 744402
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk2         
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3-P1-C3-T1-W5006016D46E0264B-L0

VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4-480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10

Description
DISK OPERATION ERROR

Probable Causes
DASD DEVICE

Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS

        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES

Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A
---------------------------------------------------------------------------



论坛徽章:
0
3 [报告]
发表于 2019-03-04 10:19 |只看该作者
麻烦各位路过的大神相助~

论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
4 [报告]
发表于 2019-03-04 15:54 |只看该作者
test.awk
  1. {
  2.     if ($0 ~/-+-/ || hasSepLine){
  3.         a[NR]=$0
  4.         do{
  5.             g=getline
  6.             a[NR]=$0
  7.         }while(g && $2 !~/Name:/)    #读到目标行 hdsik*

  8.         if ($3 =="hdisk2"){          #是hdisk2 继续读 直到下一个分隔符行
  9.             do{
  10.                 g=getline
  11.                 a[NR]=$0
  12.             }while(g && $0 !~/-+-/)
  13.             
  14.             for (i in a)             #打印满足条件的所有行(包括了段开始和结束的分隔符行)
  15.                 print a[i]

  16.             hasSepLine=1             #段结束分隔符 作下一段的开始
  17.         }
  18.         delete a
  19.     }
  20. }
复制代码


运行:
  1. gawk -f test.awk log.txt
复制代码

楼主给的数据测试通过。

论坛徽章:
0
5 [报告]
发表于 2019-03-06 17:55 |只看该作者
回复 4# cfwyy

你好,我这边我使用zabbix监控AIX的errpt日志,需要使用shell格式的文件,请问你可以写成一条命令匹配嘛,而不是用.awk格式文件呢。谢谢~

论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
6 [报告]
发表于 2019-03-07 08:22 |只看该作者
回复 5# KPRO
可以的,不过改写成一行没啥可读性了。
  1. awk '{if ($0 ~/-+-/ || hasSepLine){a[NR]=$0;do{g=getline;a[NR]=$0}while(g && $2 !~/Name:/) if ($3 =="hdisk2"){do{g=getline;a[NR]=$0}while(g && $0 !~/-+-/) for (i in a) {print a[i]} hasSepLine=1}delete a}}' log.txt
复制代码



论坛徽章:
0
7 [报告]
发表于 2019-03-07 11:19 |只看该作者
本帖最后由 KPRO 于 2019-03-07 11:23 编辑

回复 6# cfwyy
【你好!先生,谢谢解答~之前那个在实际中使用效果不理想,可以再请教您一个问题吗?就是我下面两段中可否匹配出含有字符'hdisk2'的段落(下面只有两段)


LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342
Date/Time:       Thu Mar  7 10:54:45 CST 2019
Sequence Number: 745876
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk2        
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3 P1 C3 T1 W5006016446E0264B L0
VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4 480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10
Description
DISK OPERATION ERROR
Probable Causes
DASD DEVICE
Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS
        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES
Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A


LABEL:          SC_DISK_ERR2
IDENTIFIER:     B6267342
Date/Time:       Thu Mar  7 10:54:28 CST 2019
Sequence Number: 745875
Machine Id:      00F89FEF4C00
Node Id:         coredb
Class:           H
Type:            PERM
WPAR:            Global
Resource Name:   hdisk3         
Resource Class:  disk
Resource Type:   CLAR_FC_LUNZ
Location:        U78A0.001.DNWKWZ3 P1 C3 T1 W5006016446E0264B L0
VPD:            
        Manufacturer................DGC     
        Machine Type and Model......LUNZ            
        ROS Level and ID............0430
        Serial Number...............FCNCX104300169
        Subsystem Vendor/Device ID..CX4 480        
        Device Specific.(PQ)........00
        Device Specific.(VS)........0000000000CL
        Device Specific.(UI)........50060160C6E0264B50060160C6E0264B
        FRU Label...................FFFF
        Device Specific.(Z0)........10
        Device Specific.(Z1)........10
Description
DISK OPERATION ERROR
Probable Causes
DASD DEVICE
Failure Causes
DISK DRIVE
DISK DRIVE ELECTRONICS
        Recommended Actions
        PERFORM PROBLEM DETERMINATION PROCEDURES
Detail Data
PATH ID
           0
SENSE DATA
0600 1B00 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000 0102 0000 7000 0200
0000 000A 0000 0000 0403 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0082 0000
0000 0012 001A

论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
8 [报告]
发表于 2019-03-07 14:59 |只看该作者
回复 7# KPRO
LABEL 这行,一直到空行 可以认为是一段?

论坛徽章:
0
9 [报告]
发表于 2019-03-07 15:28 |只看该作者
回复 8# cfwyy

你好! 先生,是一段呢。

论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
10 [报告]
发表于 2019-03-08 08:58 |只看该作者
回复 9# KPRO
试试看这个吧
  1. awk '/LABEL:/{do{a[NR]=$0}while(getline && $0 !~/Name:/)}/Name:/{if ($3=="hdisk2"){do{a[NR]=$0}while(getline && $0 !~/^$/)for (i in a){print a[i]}printf("\n")}delete a}' log.txt
复制代码


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP