检查 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行实用程序。

这些将根据名称转换文本文件。

警告:包含混合内容的文件很麻烦,我不知道该问题是否已经消失。

相关内容