admin159 发表于 2008-04-23 10:13

用unload卸出的文件每行最后一列都有个|,有可能去掉吗?

卸除的文件在往别的数据库导入时提示多一列

liaosnet 发表于 2008-04-23 10:17

回复 #1 admin159 的帖子

unload to <file> DELIMITER "<间隔条符>"

默认的DELIMITER是"|"

admin159 发表于 2008-04-23 10:28

这样不行,因为好多列呢,都变了就

6222|1000.0|4169|
4055|20000.0|4170|
我只想去掉最后那个|

liaosnet 发表于 2008-04-23 10:53

回复 #3 admin159 的帖子

从一个系统导入在另一个系统导入多一列的原因是,最后一个"|"后面多出个字符..
可以使用 sed 's/.$//g' <infile> <outfile>
处理掉最后的字符.

[ 本帖最后由 liaosnet 于 2008-4-23 14:22 编辑 ]

george002 发表于 2008-04-25 13:05

informix 格式最后要有|

czw1413_cn 发表于 2008-04-29 11:46

ivhb 发表于 2008-04-29 18:46

vi太受限了,一般的unload文件都比较大

wstar 发表于 2008-05-29 16:44

原帖由 liaosnet 于 2008-4-23 10:53 发表 http://bbs.chinaunix.net/images/common/back.gif
从一个系统导入在另一个系统导入多一列的原因是,最后一个"|"后面多出个字符..
可以使用 sed 's/.$//g'   
处理掉最后的字符.


正常情况下是不会有这种现象的。

unload导出的文件最后一列本来就是有一个“|”字符的。

liaosnet 发表于 2008-05-29 16:50

回复 #9 wstar 的帖子

如果你往不对的OS上传这个文件的话就可能出现这样的问题~~~~
如查把DELIMITER 改成空格就不会有这样的问题~呵.

zhyya 发表于 2008-06-17 11:48

先用unload *,"END" to ..............
再使用 sed 's/|END//g' <infile> <outfile>
页: [1]
查看完整版本: 用unload卸出的文件每行最后一列都有个|,有可能去掉吗?