Eu acho que isso está relacionado à terminação da linha. O Excel salvará arquivos com terminações de retorno de carro / alimentação de linha, mas head
estará esperando apenas feeds de linha.
Qual saída é exibida:
tr -d '\r' < messy.csv | head -10
Se ele exibe as 10 linhas corretamente, essa é sua resposta.
file
pode informar a linha que termina para certos arquivos de texto (ele irá imprimir ..., com terminadores de linha CRLF ), mas não faz isso para todos os arquivos de texto acredite que não faz isso se reconhecer o arquivo como algo diferente, por exemplo, HTML).