2013-01-23 67 views
1

我有一個csv,我正在使用csv2json轉換爲JSON。我在更改腳本後遇到了一個問題,並因爲行結束而發現了它。在bash腳本中將csv轉換爲CRLF行尾

當我嘗試將我的csv(original.csv)轉換爲json時,由於行結束,我得到一個錯誤。所以我打開了Coda中的csv(我正在使用的文本編輯器),然後選擇「Convert to CRLF」,保存文件,然後重新運行csv2json。有效。

我的問題是,我如何將original.csv轉換爲bash腳本中的CRLF?

我試着使用SED沒有運氣:

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

謝謝

+0

這難道不是工作:'sed的 'S/$/\ r /' 文件> new'? –

回答

1

最終使用的Perl:

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

沒有bashsed但另一個很簡單的解決辦法:

在Debian和衍生物如Ubuntu,你可以使用unix2dos命令輕鬆地將LF轉換爲CRLF的文件:

unix2dos -n original.csv new.csv 

您可以用dos2unix包安裝:

apt-get install dos2unix 

要重新轉換到CRLF使用LF命令dos2unix