免费注册 查看新帖 |

Chinaunix

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

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

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

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



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

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

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

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

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

论坛徽章:
0
16 [报告]
发表于 2011-08-11 10:51 |显示全部楼层
回复 31# jason680


    您的例子不错,但是你用的是perl,shell,perl混合使用,可能会影响程序的健壮性。另外,分割符您没有使用变量,在实际的过程中,分割符是由用户自己输入的呢。还有,就是如果数据变了,怎么样确定分割的唯一性问题,前面如楼上前面几位所说的。

呵呵,可能我没有把需求说清楚,不好意思啊。您功底很强。

论坛徽章:
0
17 [报告]
发表于 2011-08-11 11:08 |显示全部楼层
回复 33# jason680


    呵呵,其实只要能实现我要的功能我就满足了,比如说可在多平台上运行,这只是如果满足了,那再好不过的了。

   我现在用的是bash,而perl我好象没见人在shell命令里用过,所以是我少见多怪了。

论坛徽章:
0
18 [报告]
发表于 2011-08-11 12:10 |显示全部楼层
大牛现身呀,帖子不要沉了呀。
其实这个需求是很常见的呢,db2 del导出的数据转换成定分割符的数据。

论坛徽章:
0
19 [报告]
发表于 2011-08-11 14:04 |显示全部楼层
高人在哪呢?

论坛徽章:
0
20 [报告]
发表于 2011-08-11 16:31 |显示全部楼层
回复 38# jason680


    您的代码写的非常好,非常感谢。我在开始也借鉴了您的代码。

   但是同时您按字符扫描,数据文件很大的话,效率可能有点慢。数据复杂的话,您的 if(s==2)这一部分可能还待完善。

谢谢您的不懈支持啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP