我有一个 csv 文件,它在这样的字段内有换行符:
"abc" , "adef
efw", "abc"
"abc","awe","abc"
Run Code Online (Sandbox Code Playgroud)
应该是:
"abc", "adefefw","abc"
"abc","awe","abc"
Run Code Online (Sandbox Code Playgroud)
有谁知道一些工具或脚本来解决这个问题?我更喜欢使用 Vim。
如果您的所有字段都像示例中一样用双引号引用,则可以简单地删除非双引号后面的所有换行符:
%s/\([^"]\)\n/\1/
Run Code Online (Sandbox Code Playgroud)
对于那些寻找非交互式解决方案的人来说,sed在替换换行符时很难使用。但是,使用 perl,您可以使用与上述相同的表达式:
perl -p -e 's/([^"])\n/\1/'
Run Code Online (Sandbox Code Playgroud)