【发布时间】:2016-11-05 16:48:42
【问题描述】:
我有一个 CSV 文件,其中包含从 mySQL 表导出的数据。在其中一个字段中,有一个换行符,它将字段“拆分”为 2 行。我正在尝试删除这个换行符,但似乎无法做到。
另外,同一个字段可能包含双引号和逗号,这给我带来了麻烦,当我用" 将字段括起来时,在导出表时用, 终止它们。所以我改用| 来终止字段,并且不要用任何东西包围字段。
当我catlinux 机器上的文件时,该字段看起来像这样
13"\
58,20,"3
该字段应该是什么样子的
13"58,20,"3
当我使用 vi “十六进制编辑器” (:%!xxd) 检查该行的十六进制值时,我得到
31 33 22 5c 0a 35 38 2c 32 30 2c 22 33
我尝试使用 sed
sed -e 's/\\\n//'
和
sed -e 's/\x5c\x0a//'
删除换行符,但他们没有工作。如何将字段格式化为应有的样子?
【问题讨论】:
-
这些似乎可能是相关的:stackoverflow.com/questions/356578/…
-
您的原始数据是什么样的?
-
在 mysql 中,该字段看起来像这样
13"<newline>58,20,"3。仅表示 58,20,"3字符串出现在下一行。