免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2015-07-31 11:01 |只看该作者
回各位,我想要做的是把这个txt文件中,用shell取第二行每一列的值,然后在mysql库里建bbbc的表,表内的列名就是txt第二行里LV NAME,LPs,PPs,DISTRIBUTION,MOUNT POINT,然后再读下面的数据,写入对应的列中,想得到的数据库bbbc表的样子是:
列   名:LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
第一行:hd10opt               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
12 [报告]
发表于 2015-07-31 11:19 |只看该作者
本帖最后由 tuyajie 于 2015-07-31 11:25 编辑
  1. sed '1d' test | sed 's/^[^,]*,[^,]*,//' | awk 'BEGIN{getline;print "create table yourTableName ("$1" String,"$2" String,"$3" String,"$4" String,"$5" String,);"}{print "insert into yourTableName values (\""$1"\",\""$2"\",\""$3"\",\""$4"\",\""$5"\");"}'
  2. create table yourTableName (LV String,NAME String,LPs String,PPs String,DISTRIBUTION String,);
  3. insert into yourTableName values ("hd10opt","32","32","28..00..04..00..00","/opt");
  4. insert into yourTableName values ("hd2","71","71","00..04..31..36..00","/usr");
  5. insert into yourTableName values ("hd9var","84","84","00..46..38..00..00","/var");
  6. insert into yourTableName values ("hd3","80","80","00..00..80..00..00","/tmp");
  7. insert into yourTableName values ("hd1","1","1","00..00..01..00..00","/home");
  8. insert into yourTableName values ("hd5","1","1","01..00..00..00..00","N/A");
  9. insert into yourTableName values ("hd6","11","11","00..04..00..00..07","N/A");
  10. insert into yourTableName values ("hd8","1","1","00..00..01..00..00","N/A");
  11. insert into yourTableName values ("hd4","3","3","00..00..03..00..00","/");
  12. insert into yourTableName values ("Plv_cicsregion","16","16","00..16..00..00..00","/var/cics_regions");
  13. insert into yourTableName values ("Plv_cicsserver","8","8","08..00..00..00..00","/var/cics_servers");
  14. insert into yourTableName values ("log_SFS_01","2","2","02..00..00..00..00","N/A");
  15. insert into yourTableName values ("sfs_SFS_01","2","2","02..00..00..00..00","N/A");
  16. insert into yourTableName values ("oralv","232","232","115..00..00..00..117","/u01");
  17. insert into yourTableName values ("lg_dumplv","8","8","00..08..00..00..00","N/A");
  18. insert into yourTableName values ("livedump","2","2","00..02..00..00..00","/var/adm/ras/livedump");
  19. insert into yourTableName values ("fslv00","80","80","00..80..00..00..00","/software");
  20. insert into yourTableName values ("waslv","160","160","04..00..00..124..32","/websphere");
  21. insert into yourTableName values ("hd11admin","1","1","00..00..01..00..00","/admin");
复制代码
茅塞顿开~~~~那就是拼字符串的体力活了。。呵呵。SQL细节记不清楚了,哈哈,凑合改改回复 10# MMMIX


   

论坛徽章:
0
13 [报告]
发表于 2015-07-31 11:30 |只看该作者
。。。。。。。。。。。
怎么会变成这样呢,我想的是用shell来读,初始化先取第二行各列来完成建表,然后再把3行以后的写到mysql库里,如果这样,我每3-5分钟抓过来一个文件,那和我直接自己手工录入没啥大区别了

论坛徽章:
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
14 [报告]
发表于 2015-07-31 11:32 |只看该作者
啊,我写都不是你说的吗?放弃了。。。。。。理解能力有问题

论坛徽章:
0
15 [报告]
发表于 2015-07-31 12:02 |只看该作者
回复 14# tuyajie


    是我表达有误,在此拜谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP