免费注册 查看新帖 |

Chinaunix

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

[学习分享] 如何把文件中的内容写成insert语句 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-01-17 20:37 |只看该作者 |倒序浏览
我现在有这样的数据
612,2018,10,1,612,44638994,select col1,col2,col3 from table,2018-10-22 02:49:28.95
其中的select 语句是一个字段。我想把这样的数据写成insert 语句
如:
insert into tablename values ('612','2018','10','1','612 ','44638994' ,'select col1,col2,col3 from table','2018-10-22 02:49:28.94;
请问要如何写呢?column 数量是不确定的。原本是这样写的:
while read line
do
echo $line | sed "s/^/insert into ${SCHEMA_NM.TABLE_NM} values (\'/g; s/$/\');/g; s/,/\',\'/g"
done < ${SCHEMA_NM.TABLE_NM}.csv
但是这是用逗号作为分隔符的,如果数据里面有逗号,就不适用了,求指教!

论坛徽章:
0
2 [报告]
发表于 2019-03-11 16:23 |只看该作者
如果 column 数量是不确定,并且分隔符都是一样的
需要知道是生成该文件的逻辑才能写生成insert 的逻辑 否则不保证是否有问题

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP