在bash脚本中将csv转换为CRLF行结尾

在bash脚本中将csv转换为CRLF行结尾,bash,sed,Bash,Sed,我有一个csv,我正在使用csv2json将其转换为JSON。我在更改脚本后遇到了一个问题,并发现它是因为我的行结尾 当我尝试将我的csv(original.csv)转换为json时,由于行尾,我得到了一个错误。因此,我在Coda中打开了csv(我正在使用的文本编辑器),选择“转换为CRLF”,保存文件,然后重新运行csv2json。成功了 我的问题是,如何在bash脚本中将original.csv转换为CRLF 我尝试使用sed,但没有成功: sed 's/$'"/`echo \\\r`/"

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

当我尝试将我的csv(original.csv)转换为json时,由于行尾,我得到了一个错误。因此,我在Coda中打开了csv(我正在使用的文本编辑器),选择“转换为CRLF”,保存文件,然后重新运行csv2json。成功了

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

我尝试使用sed,但没有成功:

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

谢谢

没有
bash
sed
但是另一个非常简单的解决方案:

在Debian和类似Ubuntu的衍生工具上,您可以使用
unix2dos
命令轻松地将
LF
转换为文件中的
CRLF

unix2dos -n original.csv new.csv
您可以使用
dos2unix
软件包安装它:

apt-get install dos2unix
要再次将
CRLF
转换为
LF
,请使用命令
dos2unix

使用perl:

perl -pe 's/\r\n|\n|\r/\r\n/g' original.csv > new.csv

这不起作用:
sed的/$/\r/'file>new