免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2761 | 回复: 14

[文本处理] shell格式化log入库的问题 [复制链接]

论坛徽章:
0
发表于 2015-07-30 16:05 |显示全部楼层
我现在有如下类型log:



BBBC,000,hdisk0:
BBBC,001,LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
BBBC,002,hd10opt               32      32      28..00..04..00..00    /opt
BBBC,003,hd2                   71      71      00..04..31..36..00    /usr
BBBC,004,hd9var                84      84      00..46..38..00..00    /var
BBBC,005,hd3                   80      80      00..00..80..00..00    /tmp
BBBC,006,hd1                   1       1       00..00..01..00..00    /home
BBBC,007,hd5                   1       1       01..00..00..00..00    N/A
BBBC,008,hd6                   11      11      00..04..00..00..07    N/A
BBBC,009,hd8                   1       1       00..00..01..00..00    N/A
BBBC,010,hd4                   3       3       00..00..03..00..00    /
BBBC,011,Plv_cicsregion        16      16      00..16..00..00..00    /var/cics_regions
BBBC,012,Plv_cicsserver        8       8       08..00..00..00..00    /var/cics_servers
BBBC,013,log_SFS_01            2       2       02..00..00..00..00    N/A
BBBC,014,sfs_SFS_01            2       2       02..00..00..00..00    N/A
BBBC,015,oralv                 232     232     115..00..00..00..117  /u01
BBBC,016,lg_dumplv             8       8       00..08..00..00..00    N/A
BBBC,017,livedump              2       2       00..02..00..00..00    /var/adm/ras/livedump
BBBC,018,fslv00                80      80      00..80..00..00..00    /software
BBBC,019,waslv                 160     160     04..00..00..124..32   /websphere
BBBC,020,hd11admin             1       1       00..00..01..00..00    /admin
BBBC,021,hdisk0          00f61a0489cfa916                    rootvg          active      
BBBC,022,hdisk1          00f61a04034541a8                    None                        
BBBC,023,hdisk2          00f61a04460c09e7                    None                        
BBBC,024,hdisk3          none                                None                        
BBBC,025,hdisk4          none                                None                        
BBBC,026,hdisk5          none                                None                        
BBBC,027,hdisk6          none                                None                  


我想把log第二行:BBBC,001,LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
取各列LV NAME,LPs,PPs,DISTRIBUTION,MOUNT POINT信息做为table的列名

论坛徽章:
0
发表于 2015-07-30 21:07 |显示全部楼层
你这需求不是很清楚啊。

论坛徽章:
0
发表于 2015-07-31 09:42 |显示全部楼层
其实我想得到的就是:
LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
hd10opt               32      32      28..00..04..00..00    /opt

这样的,第一列列名LV NAME,第二列LPs,第三列PPs,第四列DISTRIBUTION,第五列MOUNT POINT,对应的第一列数据hd10opt,第二列32,第三列32,第四列28..00..04..00..00 ,第五列/opt


这次应该算是要求明确了吧,对了我用的mysql库,麻烦各位了

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-07-31 09:52 |显示全部楼层
回复 3# bighead0088


    你就是想把第一列中第二个逗号之前的内容都删除嘛,试试这个:

  1. awk -v FS=',' 'NR > 1 { $1 = ""; $2 = ""; print }' data.txt
复制代码

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
发表于 2015-07-31 10:14 |显示全部楼层
去掉第一行,第一列第二列?最近热的智商下降,坛子里好多需求看不明白~~
  1. sed '1d' yourfile | sed 's/^[^,]*,[^,]*,//'
复制代码
就这样我也不知道你准备怎么处理后面这些行。。
  1. BBBC,021,hdisk0          00f61a0489cfa916                    rootvg          active      
  2. BBBC,022,hdisk1          00f61a04034541a8                    None                        
  3. BBBC,023,hdisk2          00f61a04460c09e7                    None                        
  4. BBBC,024,hdisk3          none                                None                        
  5. BBBC,025,hdisk4          none                                None                        
  6. BBBC,026,hdisk5          none                                None                        
  7. BBBC,027,hdisk6          none                                None      
复制代码

论坛徽章:
0
发表于 2015-07-31 10:15 |显示全部楼层
先谢谢,楼上的兄弟,我要做的是把第二行的信息,分段抽取出来,使之成为mysql库里bbbc表的每一列的名称,第一列名称:LV NAME,第二列LPs,第三列PPs,第四列DISTRIBUTION,第五列MOUNT POINT,对应的LV NAME列数据:hd10opt,第二列LPs列数据:32,第三列32,第四列28..00..04..00..00 ,第五列/opt,不知道我表述的是否清楚

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
发表于 2015-07-31 10:33 |显示全部楼层
我发的第一个命令不可以啊?你看看对不对。我想问的是你最后几行对应不上啊,前面都是5列,最后几行只有四列回复 6# bighead0088


   

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
发表于 2015-07-31 10:35 |显示全部楼层
本帖最后由 haooooaaa 于 2015-07-31 10:45 编辑

回复 6# bighead0088
  1. awk -F ',|  +' 'NR>1{for(i=3;i<=NF;i++){printf $i","}print ""}'  file
复制代码

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-07-31 10:44 |显示全部楼层
回复 6# bighead0088


    你这是卡到死循环里面出不来了?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2015-07-31 10:46 |显示全部楼层
回复 5# tuyajie


    我猜啊,楼主是想要数据库建表以及数据导入的SQL语句。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP