如何使用 mysqlimport 解析使用特殊字符作为分隔符的文档?
我已经尝试过:
mysqlimport --local --fields-optionally-enclosed-by='\x254'
--fields-terminated-by='\x14' testdb messages.txt
以及:
mysqlimport --local --fields-optionally-enclosed-by='\xFE'
--fields-terminated-by='\cT' testdb messages.txt
我得到:
mysqlimport:错误:1083,字段分隔符参数不是预期的;使用 table: messages 时请检查手册。
我尝试过双引号、无引号以及单引号,如上面所示。有人知道正确的语法应该是什么吗?
I've tried:
mysqlimport --local --fields-optionally-enclosed-by='\x254'
--fields-terminated-by='\x14' testdb messages.txt
as well as:
mysqlimport --local --fields-optionally-enclosed-by='\xFE'
--fields-terminated-by='\cT' testdb messages.txt
and I get :
mysqlimport: Error: 1083, Field separator argument is not what is expected; check the manual, when using table: messages.
I've tried double quotes, no quotes as well as single quotes like above. Anyone know what the correct syntax should be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据文档(http://dev.mysql.com/ doc/refman/5.0/en/load-data.html),只有一些转义序列可用于 mysqlimport,这些是:
因此,如果您遇到不寻常的行结尾(如“\x02\n”),您除了预格式化你别无选择 文件。幸运的是,只要使用一点 sed 就可以很容易地做到这一点。例如,对于以“\x02\n”结尾的行和以“\x01”结尾的字段,您可以使用以下 bash 脚本:
然后执行以下 mysqlimport
应该可以很好地工作。
According to the documentation (http://dev.mysql.com/doc/refman/5.0/en/load-data.html), only some escape sequences are available with mysqlimport, those are :
Therefore, if you got unusual line endings (like "\x02\n"), you have no other choice than pre formatting your file. Luckily, it's pretty easy with a bit of sed. For example, with a line ending "\x02\n" and field ending "\x01", you may use the following bash script :
Then shot the following mysqlimport
Shall work nicely.