Examinando caracteres EOL em um CSV

Examinando caracteres EOL em um CSV

Tenho um arquivo csv que pretendo importar para uma mysqltabela. Gostaria, portanto, de ter certeza de que estou relatando isso LINES TERMINATED BYcorretamente. No entanto, não consigo descobrir quais caracteres estão encerrando as linhas neste csv.

Eu acho que ele foi encerrado por \n(o EOL padrão do Unix). Como posso determinar isso com certeza?

eu tentei

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

Eu também tentei usar o vim e :set listque apenas mostrou a localização das quebras de linha com$

Qualquer sugestão seria apreciada

Responder1

Você pode criar um despejo hexadecimal do seu arquivo xxdque faz parte do vim-commonpacote.

xxd file.csv | less

Em seguida, verifique os finais de linha:

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

Responder2

Você pode usar o file para fornecer uma indicação do tipo de final de linha.

Unix:

$ file file1.txt
file1.txt: ASCII text

DOS:

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

e sabendo que o DOS usa retorno de carro e avanço de linha ("\r\n") como final de linha, que o Unix usa apenas avanço de linha ("\n").

Assim, você pode determinar qual é o EOL de qualquer arquivo que desejar.

Responder3

Em vez de CHECKING, por que não simplesmente DEFINIR o estilo de final de linha de sua preferência:

sudo apt-get dos2unixlhe dará acesso dos2unixe unix2dosutilitários de linha de comando.

Estes irão converter arquivos de texto de acordo com os nomes.

Advertência: arquivos com conteúdo mistotemsido problemático, não estou atualizado sobre se esse problema desapareceu.

informação relacionada