Examinar caracteres EOL en un CSV

Examinar caracteres EOL en un CSV

Tengo un archivo csv que pretendo importar a una mysqltabla. Por lo tanto, me gustaría asegurarme de informarlo LINES TERMINATED BYcorrectamente. Sin embargo, no puedo entender qué caracteres terminan las líneas en este csv.

Supongo que termina en \n(el EOL estándar de Unix). ¿Cómo puedo determinar esto con seguridad?

He intentado

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

También intenté usar vim y :set listsolo mostró la ubicación de los saltos de línea con$

cualquier sugerencia sera apreciada

Respuesta1

Puede crear un volcado hexadecimal de su archivo xxdque forma parte del vim-commonpaquete.

xxd file.csv | less

Luego verifique los finales de línea:

  • 0a => \n
  • 0d =>\r
  • 0d0a => \r\n

Respuesta2

Puede utilizar file para obtener una indicación del tipo de finales de línea.

Unix:

$ file file1.txt
file1.txt: ASCII text

DOS:

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

y sabiendo que DOS usa retorno de carro y avance de línea ("\r\n") como final de línea, que Unix usa solo avance de línea ("\n").

Para que pueda determinar cuál es el EOL de cualquier archivo que desee.

Respuesta3

En lugar de VERIFICAR, ¿por qué no simplemente ESTABLECER el estilo de final de línea que prefiera?

sudo apt-get dos2unixle dará acceso a dos2unixutilidades unix2dosde línea de comandos.

Estos convertirán archivos de texto según los nombres.

Advertencia: archivos con contenido mixtotieneHa sido problemático, no estoy actualizado sobre si ese problema desapareció.

información relacionada