檢查 CSV 中的 EOL 字符

檢查 CSV 中的 EOL 字符

我有一個 csv 文件,我打算將其匯入到mysql表中。因此,我想確保我的報告是LINES TERMINATED BY正確的。但是我無法弄清楚哪些字元正在終止此 csv 中的行。

我猜它是由\n(標準 Unix EOL)終止的。我怎樣才能確定這一點?

我試過了

  • cat -v file.csv
  • file file.csv

我也嘗試過使用 vim,:set list它只顯示了換行符的位置$

任何建議,將不勝感激

答案1

您可以建立檔案的十六進位轉儲,xxd該檔案是套件的一部分vim-common

xxd file.csv | less

然後檢查行結尾:

  • 0a => \n
  • 0d => \r
  • 0d0a => \r\n

答案2

您可以使用 來file 指示行結尾的類型。

Unix:

$ file file1.txt
file1.txt: ASCII text

作業系統:

$ file file2.txt
file2.txt: ASCII text, with CRLF line terminators

並且知道 DOS 使用回車符和換行符(“\r\n”)作為行結束符,而 Unix 僅使用換行符(“\n”)。

因此您可以確定您想要的任何文件的 EOL。

答案3

為什麼不簡單地設定您喜歡的行結束樣式,而不是檢查:

sudo apt-get dos2unix將使您能夠存取dos2unix命令unix2dos列實用程式。

這些將根據名稱轉換文字檔案。

注意:具有混合內容的文件很麻煩,我不知道這個問題是否消失了。

相關內容