2

我有一个 csv,我正在使用 csv2json 将其转换为 JSON。我在更改脚本后遇到了一个问题,发现它是因为我的行尾。

当我尝试将我的 csv (original.csv) 转换为 json 时,由于行尾而出现错误。所以我在 Coda(我正在使用的文本编辑器)中打开了 csv,然后选择“转换为 CRLF”,保存文件,然后重新运行 csv2json。有效。

我的问题是,如何在 bash 脚本中将 original.csv 转换为 CRLF?

我尝试使用 sed 没有运气:

sed 's/$'"/`echo \\\r`/" original.csv > new.csv

谢谢

4

2 回答 2

2

最终使用 perl:

perl -pe 's/\r\n|\n|\r/\r\n/g' original.csv > new.csv
于 2013-01-23T16:10:14.050 回答
1

没有bashsed只有另一个非常简单的解决方案:

在 Debian 和 Ubuntu 等衍生产品上,您可以使用以下unix2dos命令轻松转换LFCRLF文件:

unix2dos -n original.csv new.csv

您可以使用dos2unix软件包安装它:

apt-get install dos2unix

要再次转换CRLF使用LF命令dos2unix

于 2013-01-23T15:50:44.163 回答