2016-12-29 101 views
0

我有CSV文件,其中包含約100M行的數據,我想在每行的末尾添加^ M,因爲如果沒有^ MI無法將CSV文件加載到表中(它只加載第1行,然後忽略另一行)。我想添加^ M在CSV文件的所有行的末尾

我試着添加^ M到行尾,然後按Ctrl + V和Ctrl + M再次測試加載,然後它可以正常工作,但我無法手動輸入每行^ M,並且我無法生成新的CSV再次歸檔,因爲它需要很長時間。

示例原始 A,B,C,d AA,BB,CC,DD

我期望 A,B,C,d^M AA,BB,CC,DD^M


我試圖用 :%s/$/^ M/G和EX + 「%s/$/^ M/G」 -cwq ITEM_1.csv

但很喜歡我用像這樣的輸入命令

示例原始 A,B,C,d AA,BB,CC,DD

命令之後,它有一個空白新行,不^ M A,B,C,d

AA,BB,CC,DD

感謝和誠摯的問候,

+0

噢,我只是找到了解決辦法:S/$/\^V^M/G 從http://stackoverflow.com/questions/1585449參考/ insert-the-carriage-return-character-in-vim – user7333846

+0

刪除了Orale標籤。不相關。 – OldProgrammer

回答

4

爲什麼不直接使用unix2dos? 基本上只是想做DOS2UNIX的相反

http://www.linuxcommand.org/man_pages/unix2dos1.html

+0

哇非常感謝。 以前,我知道unix2dos只能用來移除^ M,但我只是嘗試使用來自您的推薦及其作品 – user7333846

+0

的unix2dos,但我無法修改大型CSV文件。它顯示錯誤「定義的數據類型的值太大」。 – user7333846

+0

是你的OS 32位?如果是這樣,那麼您遇到了一個問題,即您的數據大小無法在32位中處理。在64位操作系統上試用它。 – Artagel

相關問題