Проверка символов EOL в CSV

Проверка символов EOL в CSV

У меня есть файл 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

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

  • 0а => \n
  • 0д => \р
  • 0d0a => \r\n

решение2

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

Юникс:

$ 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командной строки.

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

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

Связанный контент