Preciso obter a contagem de linhas dos arquivos CSV recebidos.
Eu usei o seguinte comando para obter a contagem.
wc -l filename.csv
Considere um arquivo que vem com 1 registro, estou recebendo alguns arquivos com um \*
no início e, para esses arquivos, se eu emitir o comando acima, ele retornará a contagem de 0
.
Por que \*
o início do arquivo não é registrado como uma linha contada e existe uma solução alternativa?
linux
microsoft-excel
command-line
unix
csv
Devoloper250
fonte
fonte
Respostas:
Um truque para garantir que também as linhas não terminadas sejam contadas pode ser:
Parece contar todas as linhas não vazias, mas ignora as linhas vazias.
Observe que isso é bastante ineficaz, mas isso provavelmente não é um problema para uso local.
Outra possibilidade, conta todas as linhas, incluindo a última linha não terminada:
Testado no RHEL 6.2. YMMV.
fonte
awk
comando funciona no OS Xwc reportará 0 para arquivos com apenas uma linha e nenhuma nova linha à direita. Talvez seus arquivos CSV de um registro sejam assim? Você pode procurar novas linhas à direita com hexdump, por exemplo:
Procure o código ascii 0a no final.
fonte