Изучение символов EOL в CSV

У меня есть CSV-файл, который я собираюсь импортировать в таблицу mysql. Поэтому я хотел бы убедиться, что я правильно сообщаю о LINES TERMINATED BY. Однако я не могу понять, какие символы заканчивают строки в этом CSV.

Я бы предположил, что оно заканчивается \n (стандартная Unix EOL). Как я могу определить это наверняка?

Я пробовал

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

I ' Мы также попытались использовать vim и :set list, которые только что показали расположение разрывов строк с $

. Любые предложения будут оценены по достоинству

0
задан 29 May 2015 в 11:21

3 ответа

Вы можете создать hex-дамп своего файла с помощью xxd, который является частью пакета vim-common.

xxd file.csv | less

Затем проверьте окончания строк:

  • 0a => \ n
  • 0d => \ r
  • 0d0a => \ r \ n
0
ответ дан 29 May 2015 в 11:21

Можно использовать file, чтобы дать Вам признак типа окончаний строки.

Unix:

$ file file1.txt
file1.txt: ASCII text

DOS:

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

и зная, что DOS использует возврат каретки и перевод строки (" \r\n") как окончание строки, какой Unix использует просто перевод строки (" \n").

, Таким образом, можно определить то, что является EOL любого файла, который Вы хотите.

0
ответ дан 29 May 2015 в 11:21

Вместо того, чтобы ПРОВЕРИТЬ, почему бы просто НЕ УСТАНОВИТЬ предпочитаемый стиль окончания строки:

sudo apt-get dos2unix предоставит вам доступ к утилитам командной строки dos2unix и unix2dos.

Они преобразуют текстовые файлы в соответствии с именами.

Предостережение: файлы со смешанным контентом были хлопотными, я не в курсе, исчезла ли эта проблема.

0
ответ дан 29 May 2015 в 11:21

Другие вопросы по тегам:

Похожие вопросы: