Tengo que obtener el recuento de líneas de los archivos CSV entrantes.
He usado el siguiente comando para obtener el recuento.
wc -l filename.csv
Considere un archivo que viene con 1 registro, obtengo algunos archivos con un \*
al comienzo, y para esos archivos si ejecuto el comando anterior, devuelve el recuento 0
.
¿Por qué \*
al principio del archivo no se registra como una línea contada y hay una solución alternativa?
linux
microsoft-excel
command-line
unix
csv
Devoloper250
fuente
fuente
Respuestas:
Un truco para garantizar que también se cuenten las líneas no terminadas puede ser:
Esto parece contar todas las líneas no vacías, pero omite las líneas vacías.
Tenga en cuenta que esto es bastante ineficaz, pero que probablemente no sea un problema para el uso profesional.
Otra posibilidad, cuenta todas las líneas, incluida la última línea no terminada:
Probado en RHEL 6.2. YMMV.
fuente
awk
comando funciona en OS Xwc informará 0 para archivos con una sola línea y sin nueva línea final. ¿Quizás sus archivos csv de un registro sean así? Puede buscar nuevas líneas finales con hexdump, por ejemplo:
Busque el código ascii 0a al final.
fuente