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パッケージの一部であるファイルの 16 進ダンプを作成できます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コマンドラインユーティリティにアクセスできるようになりますdos2unixunix2dos

これらは、名前に従ってテキスト ファイルを変換します。

注意: 混合コンテンツを含むファイルもっている面倒でしたが、その問題が解決したかどうかはわかりません。

関連情報