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