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.csvfile 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.


