免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: hfvbc

awk问题求助[高人现身呀][db2 csv格式的数据转定分割符的数据] [复制链接]

论坛徽章:
0
发表于 2011-08-11 00:34 |显示全部楼层
1,"abc,"",,"","xyz",8
就这条记录,如果没有什么限制有好多种分割方法
1
abc,"",,"","xyz
8
--------------------------
1
abc,"",,"
xyz
8
--------------------------
1
abc,"
NULL
","xyz
8

论坛徽章:
0
发表于 2011-08-11 08:26 |显示全部楼层
楼上的很细心...

论坛徽章:
0
发表于 2011-08-11 08:51 |显示全部楼层
单单一个字段总数并不能保证分割的唯一性

一条记录,假设对某一区块a的分割有2种可能,一种分成2个字段, ...
ywlscpl 发表于 2011-08-11 00:25



您说的很有道理,但是如果是db2 del方式导出来的数据,它就是这样的呀:逗号分割,字符型的是用引号引起来的,   在这些字符型的数据中,不排除包含引号和逗号的。

论坛徽章:
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
发表于 2011-08-11 09:02 |显示全部楼层
没有"唯一性",就没解了....

论坛徽章:
0
发表于 2011-08-11 09:03 |显示全部楼层
回复 21# ywlscpl


    学习啊!

论坛徽章:
0
发表于 2011-08-11 09:48 |显示全部楼层
但是我有表结构就有唯一性了吧?

论坛徽章:
0
发表于 2011-08-11 10:01 |显示全部楼层
不然db2怎么能顺利的导入del格式的数据呢?是吧?

论坛徽章:
0
发表于 2011-08-11 10:17 |显示全部楼层
大牛现身呀

论坛徽章:
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
发表于 2011-08-11 10:32 |显示全部楼层
大牛现身呀
hfvbc 发表于 2011-08-11 10:17



$ echo '1,"nihao,shia,"shi","hiscihe",3,8
1,"nihao,sh ma",shi","hiscihe",3,8' | perl -ne '{$c=0;while($c++<10){while(s/(^\d+),//){print "$1^|^"}while(s/^"(.+?)",(?=["\d])//){print "$1^|^"}}print "$_"}'
1^|^nihao,shia,"shi^|^hiscihe^|^3^|^8
1^|^nihao,sh ma",shi^|^hiscihe^|^3^|^8

论坛徽章:
0
发表于 2011-08-11 10:40 |显示全部楼层
是否可以换个思路:
1,以逗号为分割符,
2,如果类型是char等的,就必须以”开始,以“结束。
3,如果类型是char等的,但是它没有以”开始,则把这些类容归到上一个域。
4,如果是数据类型的,就只需要以,分割。
5,由于处理的数据量比较大,所以最好考虑效率问题
6,代码最好可以在aix,hp-unix,redhat等linux上运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP