免费注册 查看新帖 |

Chinaunix

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

请教大家如何实现以下需求? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-20 09:40 |只看该作者 |倒序浏览
有一格式固定的文本,内容附后,现在需要把 TABLE "cbps". 后面的表名提出来,再把第二行unload file name= 后面的文件名提出来组成以下内容:

load from  chk_q00563.unl insert into chk_queue;
load from ......................unl insert into ...............;


请大家指点一下.



{ TABLE "cbps".chk_queue row size = 890 number of columns = 28 index size = 30 }
{ unload file name = chk_q00563.unl number of rows = 2842 }



{ TABLE "cbps".ck_first_ant row size = 109 number of columns = 13 index size = 7
5
              }
{ unload file name = ck_fi00564.unl number of rows = 0 }
{ TABLE "cbps".reg_insur_upd row size = 48 number of columns = 7 index size = 50

              }
{ unload file name = reg_i00565.unl number of rows = 3982 }
{ TABLE "cbps".bank_trans_result row size = 254 number of columns = 28 index siz
e
              = 75 }
{ unload file name = bank_00566.unl number of rows = 34 }
{ TABLE "cbps".cor_check row size = 310 number of columns = 8 index size = 62 }
{ unload file name = cor_c00567.unl number of rows = 1145 }
{ TABLE "cbps".cpnst_pol_dsb row size = 16 number of columns = 3 index size = 17

              }

论坛徽章:
0
2 [报告]
发表于 2007-03-21 10:03 |只看该作者
大家帮助一下阿.

论坛徽章:
0
3 [报告]
发表于 2007-03-21 10:50 |只看该作者
awk '{if( NR%2==0 ){print  $6} else { split( $3, x,".");printf "%-20s" , x[2]}}’ urfile > newfile
awk  '{ printf  "load from  %s insert into %s ;\n" , $2,$1 }'  newfile

我分了两部,前提文件中确如你说每对{}占一行,

论坛徽章:
0
4 [报告]
发表于 2007-03-21 15:49 |只看该作者
sed -n 'N;s/{ TABLE ".*"\.\([^ ]*\) row size.*\n{ unload file name = \(.*\) number of rows.*$/load from  \2 insert into \1;/; p;' yourfile

[ 本帖最后由 doctorjxd 于 2007-3-21 15:51 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-03-21 16:40 |只看该作者
谢谢 两位的帮助.

很接近需求了.我再手工处理一下,就可以了.


主要是informix导入的这个文本不规则,{ }不能保证在一行内.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP