Tengo un archivo csv que pretendo importar a una mysql
tabla. Por lo tanto, me gustaría asegurarme de informarlo LINES TERMINATED BY
correctamente. 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 list
solo mostró la ubicación de los saltos de línea con$
cualquier sugerencia sera apreciada
Respuesta1
Puede crear un volcado hexadecimal de su archivo xxd
que forma parte del vim-common
paquete.
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 dos2unix
le dará acceso a dos2unix
utilidades unix2dos
de 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ó.