我在将文件加载到数据库时遇到问题。问题是一些Cell(字符串)包含CHR(13) - 回车。我正在使用Sql加载器加载文件,但是如果行包含带有CHR(13)的字符串,它会变得混乱并且脚本认识到CHR(13)是行的结尾(而不是字符串的结尾),所以在结果中我有25行来自文件包含20行。
我想将CHR(13)更改为CHR(32) - 空格,但我不知道该怎么做。如果我将所有CHR(13)更改为CHR(32),我将降低所有行(因此我的文件将只包含1行)。我怎么能聪明地做到这一点?我想只删除其他CHR(13)。
示例我的文件如何:
"Title 1","Title 2","Title 3","Title 4"
"Value 1",,"Value 3","Value 4"
"Value 1",""Value 2","Value 3","Value 4"
"Value 1,""Value
asfsafsaf","Value 3,"Value 4" <--- There is problem
答案 0 :(得分:0)
使用GNU sed,您可以这样做:
sed -zr 's/([^"])[\n\r]+/\1 /g' yourfile > yourmodified_file
我不是100%肯定你的行结束约定,也许你必须尝试其中一个而不是[\n\r]+
部分:
\r
\n
脚本替换了cariage返回和/或换行的序列,其中不前面有双引号(即[^"]
部分),带有空格。