2015-03-10

Crear archivo nuevo con las x primeras líneas de otro

Tenía un problema para leer un archivo de varios gigabytes de tamaño y sólo quería leer las primeras líneas así que lo pude solucionar con este programa escrito en python.

Abre los dos ficheros y va leyendo del fichero uno y escribe las 1000 primeras líneas en el fichero 2.
Obviamente se puede cambiar ese número por el que sea y adaptar el condicional a vuestro gusto.


fp = open("mysqldump.sql")
f1 = open('1000.txt', 'a')
for i, line in enumerate(fp):
    if i < 1000:
        f1.write(line)
    elif i == 1000:
        f1.write(line)
    elif i > 1000:
        break
f1.close()
fp.close()
 
Supongo que habrá algo sencillo para hacer desde bash pero no lo supe solucionar de esa forma.