我有一个脚本,可以使用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
当您使用下面的csv文件时sed
命令,它将删除带有空格的n
字符:-
modifiedline=$(sed ':a;N;$!ba;s/n/ /g' $line)
echo -e "$modifiedlinen" >> csvfile.csv
它对我有用。您必须修改现有的 shell 脚本,将其写入csv
文件,并添加上述命令来解决您的问题。
希望这对您有所帮助。