Dividir un archivo en dos en la terminal de Linux y Mac
Hoy me pidieron dividir un CSV de más de 1M de líneas en por lo menos dos archivos, para poderlo manejar mejor.
La primera forma que se me ocurrió fue con head y tail, pero no sabía que existe un programa de los sistemas POSIX que lo hace súper fácil:
split -l numero_de_lineas nombre_del_archivo
Es decir, si mi archivo a dividir se llama “datos.csv”, tiene 10000 líneas y quiero obtener dos archivos de 5000 líneas, el comando sería:
split -l 5000 datos.csv
Este comando producirá en el mismo directorio dos archivos nombrados xaa
y xab
conteniendo cada uno
5000 líneas, dejando el archivo original intacto. Se producirán tantos archivos como divisiones sean posibles.
Comentar