テーブルにインポートしようとしている 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
コマンドラインユーティリティにアクセスできるようになりますdos2unix
。unix2dos
これらは、名前に従ってテキスト ファイルを変換します。
注意: 混合コンテンツを含むファイルもっている面倒でしたが、その問題が解決したかどうかはわかりません。