17 de agosto de 2010

Cortar archivos con split


Pues resulta que en un script php he intentado pasar un archivo de texto a un array con el comando file( ) y el archivo es algo grande ya que tiene unos 19MB y unas 100.000 lineas. De modo que me ha salido un error al ejecutar el script:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16 bytes) in /home/pp/globalWebSpider/gws-mantenimiento_spider01/60-z5log-no_mysql_saved-recuperator.php on line 85

Una solucción es cortar el archivo en otros más pequeños:
Para esto esta split:
- Que corta archivos en otros mas pequeños de un tamaño deternimado:

#split -b(tamaño) archivo.grande archivo.
archivos resultantes:
archivo.aa
archivo.ab
archivo.ac
etc...
-Pero en mi caso al ser un archivo de texto es mejor cortarlos en archivitos de un determinano número de lineas, ... digamos 10000 y con la extensión numérica:

#split -d -10000 archivo.grande archivo.
archivos resultantes:
archivo.01
archivo.02
archivo.03
etc...
Ref.: http://linuxmanpages.com/man1/split.1.php

No hay comentarios:

Publicar un comentario