[英]Removing new line from CSV file
我有一个使用 unoconv 将 excel 文件转换为 csv 的脚本。 我注意到由于 excel 中的特定格式,csv 中的一些记录被添加为新行。 我想知道是否可以在 unix 中处理这个问题。
采样有问题的数据。
col1, col2, col3
jim,"washington dc
",123
正确的数据应该是。
col1, col2, col3
jim,"washington dc",123
你可以使用这个gnu sed
:
cat file
col1, col2, col3
jim,"washington dc
","12
3"
foo, bar, baz
123, abc, xyz
和sed
命令:
sed -E ':a;N;;s/(,"[^"]*)\n/\1/;$!ba' file
col1, col2, col3
jim,"washington dc","123"
foo, bar, baz
123, abc, xyz
当您在sed
命令下使用 csv 文件时,它将删除带有空格的\\n
字符:-
modifiedline=$(sed ':a;N;$!ba;s/\n/ /g' $line)
echo -e "$modifiedline\n" >> csvfile.csv
这个对我有用。 您必须修改现有的 shell 脚本,将其写入csv
文件并添加上述命令来解决您的问题。
希望这会帮助你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.