免费注册 查看新帖 |

Chinaunix

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

[文本处理] 如何输出指定关键字及其标头 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-25 20:45 |只看该作者 |倒序浏览
文件为:                 ----------------------------
                           ! Normal Mode    67        !
--------------------------                            --------------------------
! Name  Definition              Value          Relative Weight (%)             !
--------------------------------------------------------------------------------
! R1    R(1,2)                 -0.0272                  0.5                    !
! R2    R(1,6)                 -0.1584                  2.7                    !
! R3    R(1,36)                 0.101                   1.7                    !
! R6    R(3,4)                  0.0272                  0.5                    !
! R8    R(4,5)                  0.1584                  2.7                    !
! R9    R(4,33)                -0.101                   1.7                    !
! R11   R(5,7)                  0.0283                  0.5                    !
! R12   R(6,10)                -0.0283                  0.5                    !
! R13   R(7,                  0.0474                  0.8                    !
! R16   R(8,11)                -0.102                   1.7                    !
! R17   R(9,10)                -0.0474                  0.8                    !
! R18   R(9,14)                 0.102                   1.7                    !
! R20   R(11,12)               -0.0844                  1.4                    !
! R23   R(12,15)               -0.0733                  1.2                    !
! R24   R(13,14)                0.0844                  1.4                    !
! R25   R(13,1                0.0733                  1.2                    !
! R27   R(15,16)               -0.0192                  0.3                    !
! R30   R(16,19)                0.0945                  1.6                    !
! R31   R(17,1                0.0192                  0.3                    !
! R32   R(17,22)               -0.0945                  1.6                    !
! R34   R(19,20)               -0.0386                  0.7                    !
! R38   R(21,22)                0.0386                  0.7                    !
! A1    A(2,1,6)                0.0821                  1.4                    !
! A2    A(2,1,36)              -0.0664                  1.1                    !
! A4    A(1,2,3)               -0.041                   0.7                    !
! A5    A(1,2,35)               0.0606                  1.0                    !
! A6    A(3,2,35)              -0.0196                  0.3                    !
! A7    A(2,3,4)                0.041                   0.7                    !
! A8    A(2,3,34)               0.0196                  0.3                    !
截取指定关键字(多个)如35,36的键长,键角
R(1,36)
A(2,1,36)
输出所在mode ,  键长,键角 及相对权重
按照先 A后R的形式输出
形如  Normal Mode    67              R(1,36)           1.0            
                                               A(2,1,36)          1.1   
                                               A(1,2,35)         1.0  
                                               A(3,2,35)         0.3  
        
        Normal Mode    68


论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
2 [报告]
发表于 2014-10-25 21:31 |只看该作者
回复 1# super_fan_cu

术语略多,需求不太容易懂?
你就说说按你1楼的文本,期望的结果是什么吧?

论坛徽章:
0
3 [报告]
发表于 2014-10-25 23:01 |只看该作者
Herowinter 发表于 2014-10-25 21:31
回复 1# super_fan_cu

术语略多,需求不太容易懂?


就想生成这样子的


Normal Mode    67                    R(1,36)             1.0            
                                               A(2,1,36)          1.1   
                                               A(1,2,35)          1.0  
                                               A(3,2,35)          0.3  





        

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
4 [报告]
发表于 2014-10-26 00:01 |只看该作者
本帖最后由 jason680 于 2014-10-26 08:31 编辑

回复 3# super_fan_cu

modify by yourself
printf("%-25s%-15s%-15s\n",m,$3,$5)

  1. $ awk '$3=="Mode"{m=$0;gsub(/ *! */,"",m)}$3~/,3[56])/{printf("%-25s%-15s%-15s\n",m,$3,$5);m=""}' FILE
  2. Normal Mode    67        R(1,36)        1.7            
  3.                          A(2,1,36)      1.1            
  4.                          A(1,2,35)      1.0            
  5.                          A(3,2,35)      0.3
复制代码

论坛徽章:
0
5 [报告]
发表于 2014-10-26 09:27 |只看该作者
本帖最后由 love_shift 于 2014-10-26 09:34 编辑
  1. root@ubuntu:/tmp# sed -rn '/Mode/h;/3[56]/{x;/Mo/{G;s/[^!]*! ([^!]*)[^(]* (\S+).* (\S+).*!/\1 \2   \3/p;d;q};g;s/[^(]* (\S+).* (\S+).*!/\t\t\t  \1 \2/p}' f
  2. Normal Mode    67         R(1,36)   1.7
  3.                           A(2,1,36) 1.1
  4.                           A(1,2,35) 1.0
  5.                           A(3,2,35) 0.3
复制代码

论坛徽章:
0
6 [报告]
发表于 2014-10-26 16:41 |只看该作者
jason680 发表于 2014-10-26 00:01
回复 3# super_fan_cu

modify by yourself


谢谢,的确好用。不过如果要是不关连的多个数字,如何操作
比如,抓取含有2,11,36的,而且只在Normal Mode    这一部分抓取,



我的file
是这样的
Vib (V=0)    2  0.563726D+01          0.751068          1.729398
Vib (V=0)    3  0.417540D+01          0.620698          1.429210
Vib (V=0)    4  0.339316D+01          0.530605          1.221763
Vib (V=0)    5  0.313420D+01          0.496127          1.142375
Vib (V=0)    6  0.257241D+01          0.410340          0.944844
Vib (V=0)    7  0.220886D+01          0.344168          0.792477
Vib (V=0)    8  0.176857D+01          0.247622          0.570171
Vib (V=0)    9  0.175026D+01          0.243102          0.559762
Vib (V=0)   10  0.171632D+01          0.234598          0.540182
Vib (V=0)   11  0.152880D+01          0.184350          0.424482
Vib (V=0)   12  0.150232D+01          0.176761          0.407008
Vib (V=0)   13  0.145729D+01          0.163545          0.376575


                           ----------------------------                          
                           ! Normal Mode     1        !                          
--------------------------                            --------------------------
! Name  Definition              Value          Relative Weight (%)             !
--------------------------------------------------------------------------------
! D1    D(6,1,2,3)             -0.0158                  1.6                    !
! D2    D(6,1,2,35)            -0.0169                  1.7                    !
! D3    D(36,1,2,3)            -0.0095                  1.0                    !
! D4    D(36,1,2,35)           -0.0106                  1.1                    !
! D5    D(2,1,6,5)              0.0156                  1.6                    !
! D6    D(2,1,6,10)             0.0274                  2.8                    !
! D7    D(36,1,6,5)             0.0093                  0.9                    !
! D8    D(36,1,6,10)            0.0212                  2.2                    !
! D13   D(2,3,4,5)              0.0158                  1.6                    !
! D14   D(2,3,4,33)             0.0095                  1.0                    !
! D15   D(34,3,4,5)             0.0169                  1.7                    !
! D16   D(34,3,4,33)            0.0106                  1.1                    !
! D17   D(3,4,5,6)             -0.0156                  1.6                    !
! D18   D(3,4,5,7)             -0.0274                  2.8                    !
! D19   D(33,4,5,6)            -0.0093                  0.9                    !
! D20   D(33,4,5,7)            -0.0212                  2.2                    !
! D22   D(4,5,6,10)            -0.0115                  1.2                    !
! D23   D(7,5,6,1)              0.0115                  1.2                    !
! D25   D(4,5,7,              0.0267                  2.7                    !
! D26   D(4,5,7,23)             0.0112                  1.1                    !
! D27   D(6,5,7,              0.0147                  1.5                    !
! D29   D(1,6,10,9)            -0.0267                  2.7                    !
! D30   D(1,6,10,24)           -0.0112                  1.1                    !
! D31   D(5,6,10,9)            -0.0147                  1.5                    !
! D33   D(5,7,8,9)             -0.0146                  1.5                    !
! D34   D(5,7,8,11)            -0.0305                  3.1                    !
! D36   D(23,7,8,11)           -0.0152                  1.5                    !
! D38   D(7,8,9,14)            -0.0154                  1.6                    !
! D39   D(11,8,9,10)            0.0154                  1.6                    !
! D41   D(7,8,11,12)            0.0298                  3.0                    !
! D42   D(7,8,11,25)            0.0144                  1.5                    !
! D43   D(9,8,11,12)            0.0139                  1.4                    !
! D45   D(8,9,10,6)             0.0146                  1.5                    !
! D47   D(14,9,10,6)            0.0305                  3.1                    !
! D48   D(14,9,10,24)           0.0152                  1.5                    !
! D49   D(8,9,14,13)           -0.0139                  1.4                    !
! D51   D(10,9,14,13)          -0.0298                  3.0                    !
! D52   D(10,9,14,26)          -0.0144                  1.5                    !
! D53   D(8,11,12,13)          -0.0139                  1.4                    !
! D54   D(8,11,12,15)          -0.0264                  2.7                    !
! D56   D(25,11,12,15)         -0.011                   1.1                    !
! D58   D(11,12,13,1         -0.0121                  1.2                    !
! D59   D(15,12,13,14)          0.0121                  1.2                    !
! D61   D(11,12,15,16)          0.0214                  2.2                    !
! D62   D(11,12,15,27)          0.0116                  1.2                    !
! D63   D(13,12,15,16)          0.0089                  0.9                    !
! D65   D(12,13,14,9)           0.0139                  1.4                    !
! D67   D(18,13,14,9)           0.0264                  2.7                    !
! D68   D(18,13,14,26)          0.011                   1.1                    !
! D69   D(12,13,18,17)         -0.0089                  0.9                    !
! D71   D(14,13,18,17)         -0.0214                  2.2                    !
! D72   D(14,13,18,2         -0.0116                  1.2                    !
! D73   D(12,15,16,17)         -0.0089                  0.9                    !
! D74   D(12,15,16,19)         -0.0143                  1.5                    !
! D81   D(15,16,19,20)          0.0081                  0.8                    !
! D85   D(16,17,18,13)          0.0089                  0.9                    !
! D87   D(22,17,18,13)          0.0143                  1.5                    !
! D91   D(18,17,22,21)         -0.0081                  0.8                    !
--------------------------------------------------------------------------------
! A43   A(12,15,16)             0.0167                  0.5                    !
! A47   A(15,16,19)             0.01                    0.3                    !
! A51   A(18,17,22)            -0.01                    0.3                    !
! A52   A(13,18,17)            -0.0167                  0.5                    !
--------------------------------------------------------------------------------







                           ----------------------------                          
                           ! Normal Mode    97        !                          
--------------------------                            --------------------------
! Name  Definition              Value          Relative Weight (%)             !
--------------------------------------------------------------------------------
! R14   R(7,23)                 0.0166                  0.5                    !
! R16   R(8,11)                 0.0201                  0.6                    !
! R18   R(9,14)                 0.0203                  0.6                    !
! R19   R(10,24)                0.0167                  0.5                    !
! R20   R(11,12)                0.0198                  0.6                    !
! R21   R(11,25)               -0.487                  14.8                    !
! R24   R(13,14)                0.02                    0.6                    !
! R26   R(14,26)               -0.4918                 15.0                    !
! R28   R(15,27)                0.0214                  0.7                    !
! R30   R(16,19)               -0.0208                  0.6                    !
! R32   R(17,22)               -0.0208                  0.6                    !
! R33   R(18,2                0.0197                  0.6                    !
! R34   R(19,20)               -0.0132                  0.4                    !
! R35   R(19,29)                0.5354                 16.3                    !
! R36   R(20,21)                0.0203                  0.6                    !
! R37   R(20,30)               -0.2422                  7.4                    !
! R38   R(21,22)               -0.0133                  0.4                    !
! R39   R(21,31)               -0.2417                  7.4                    !
! R40   R(22,32)                0.5352                 16.3                    !
! A23   A(7,8,11)              -0.0123                  0.4                    !
! A24   A(9,8,11)               0.0126                  0.4                    !
! A26   A(8,9,14)               0.0127                  0.4                    !
! A27   A(10,9,14)             -0.0124                  0.4                    !
! A31   A(8,11,12)             -0.0251                  0.8                    !
! A32   A(8,11,25)              0.0125                  0.4                    !
! A33   A(12,11,25)             0.0127                  0.4                    !
! A34   A(11,12,13)             0.0126                  0.4                    !
! A35   A(11,12,15)            -0.0121                  0.4                    !
! A37   A(12,13,14)             0.0127                  0.4                    !
! A39   A(14,13,1            -0.0123                  0.4                    !
! A40   A(9,14,13)             -0.0254                  0.8                    !
! A41   A(9,14,26)              0.0126                  0.4                    !
! A42   A(13,14,26)             0.0128                  0.4                    !
! A47   A(15,16,19)             0.0141                  0.4                    !
! A48   A(17,16,19)            -0.0135                  0.4                    !
! A50   A(16,17,22)            -0.0135                  0.4                    !
! A51   A(18,17,22)             0.014                   0.4                    !
! A55   A(16,19,20)             0.0342                  1.0                    !
! A56   A(16,19,29)            -0.0127                  0.4                    !
! A57   A(20,19,29)            -0.0215                  0.7                    !
! A58   A(19,20,21)            -0.0207                  0.6                    !
! A59   A(19,20,30)             0.0222                  0.7                    !
! A61   A(20,21,22)            -0.0206                  0.6                    !
! A63   A(22,21,31)             0.0221                  0.7                    !
! A64   A(17,22,21)             0.0342                  1.0                    !
! A65   A(17,22,32)            -0.0127                  0.4                    !
! A66   A(21,22,32)            -0.0214                  0.7                    !
--------------------------------------------------------------------------------
                           ----------------------------                          
                           ! Normal Mode    98        !                          
--------------------------                            --------------------------
! Name  Definition              Value          Relative Weight (%)             !
--------------------------------------------------------------------------------
! R14   R(7,23)                 0.0213                  0.6                    !
! R16   R(8,11)                 0.0213                  0.6                    !
! R18   R(9,14)                 0.0214                  0.6                    !
! R19   R(10,24)                0.0214                  0.6                    !
! R20   R(11,12)                0.021                   0.6                    !
! R21   R(11,25)               -0.5261                 14.1                    !
! R23   R(12,15)                0.0128                  0.3                    !
! R24   R(13,14)                0.0211                  0.6                    !
! R25   R(13,1                0.0128                  0.3                    !
! R26   R(14,26)               -0.5277                 14.1                    !
! R27   R(15,16)                0.0138                  0.4                    !
! R28   R(15,27)               -0.3528                  9.4                    !
! R30   R(16,19)                0.0145                  0.4                    !
! R31   R(17,1                0.0138                  0.4                    !
! R32   R(17,22)                0.0145                  0.4                    !
! R33   R(18,2               -0.3532                  9.4                    !
! R35   R(19,29)               -0.381                  10.2                    !
! R36   R(20,21)               -0.016                   0.4                    !
! R37   R(20,30)                0.1943                  5.2                    !
! R39   R(21,31)                0.1944                  5.2                    !
! R40   R(22,32)               -0.381                  10.2                    !
! A23   A(7,8,11)              -0.0132                  0.4                    !
! A24   A(9,8,11)               0.0136                  0.4                    !
! A26   A(8,9,14)               0.0137                  0.4                    !
! A27   A(10,9,14)             -0.0132                  0.4                    !
! A31   A(8,11,12)             -0.0273                  0.7                    !
! A32   A(8,11,25)              0.0142                  0.4                    !
! A33   A(12,11,25)             0.0131                  0.4                    !
! A34   A(11,12,13)             0.0137                  0.4                    !
! A35   A(11,12,15)            -0.0229                  0.6                    !
! A37   A(12,13,14)             0.0137                  0.4                    !
! A39   A(14,13,1            -0.023                   0.6                    !
! A40   A(9,14,13)             -0.0274                  0.7                    !
! A41   A(9,14,26)              0.0142                  0.4                    !
! A42   A(13,14,26)             0.0131                  0.4                    !
! A43   A(12,15,16)            -0.0185                  0.5                    !
! A47   A(15,16,19)            -0.0188                  0.5                    !
! A51   A(18,17,22)            -0.0188                  0.5                    !
! A52   A(13,18,17)            -0.0185                  0.5                    !
! A55   A(16,19,20)            -0.025                   0.7                    !
! A57   A(20,19,29)             0.0166                  0.4                    !
! A58   A(19,20,21)             0.0154                  0.4                    !
! A59   A(19,20,30)            -0.0165                  0.4                    !
! A61   A(20,21,22)             0.0154                  0.4                    !
! A63   A(22,21,31)            -0.0165                  0.4                    !
! A64   A(17,22,21)            -0.025                   0.7                    !
! A66   A(21,22,32)             0.0166                  0.4                    !
--------------------------------------------------------------------------------

下面还有


论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
7 [报告]
发表于 2014-10-26 17:03 |只看该作者
回复 6# super_fan_cu

$ awk '$3=="Mode"{m=$0;gsub(/ *! */,"",m)}$3~/[(,](2|11|36)[,)]/{printf("%-25s%-20s%5.1f\n",m,$3,$5);m=""}' FILE
Normal Mode     1        D(6,1,2,3)            1.6
                         D(6,1,2,35)           1.7
                         D(36,1,2,3)           1.0
                         D(36,1,2,35)          1.1
                         ...
   

论坛徽章:
0
8 [报告]
发表于 2014-10-31 10:30 |只看该作者
jason680 发表于 2014-10-26 17:03
回复 6# super_fan_cu

$ awk '$3=="Mode"{m=$0;gsub(/ *! */,"",m)}$3~/[(,](2|11|36)[,)] ...



如果是按照顺序的多个数字,比如21-95的,数字那儿怎么写?

论坛徽章:
0
9 [报告]
发表于 2014-11-02 09:54 |只看该作者
jason680 发表于 2014-10-26 17:03
回复 6# super_fan_cu

$ awk '$3=="Mode"{m=$0;gsub(/ *! */,"",m)}$3~/[(,](2|11|36)[,)] ...




如果是按照顺序的多个数字,比如21-95的,数字那儿怎么写?

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
10 [报告]
发表于 2014-11-03 12:49 |只看该作者
回复 9# super_fan_cu

combine the reply with 4楼 and 7楼 ...

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP