martes, 8 de abril de 2014

Solución: -bash: /bin/rm: La lista de argumentos es demasiado larga

Para eliminar una cantidad de archivos con find.
Si alguna vez te encuentras con el error que da título a este post cuando has intentado eliminar una gran cantidad de archivos de manera simultánea, la forma más común de solucionarlo es usando la orden 'find'. Ejemplo:
bash> find /directorio/ -name "archivos*" -exec rm {} \;
Este error se produce en sistemas que tienen el kernel de linux anterior al 2.6.23 ya que esos kernels tienen un tope en la lista de argumentos soportada.
Usando find y pasándole a rm, uno a uno los archivos a eliminar, evitamos usar una lista de argumentos grande. La contrapartida de esta solución es que ejecuta un rm por archivo con lo cual es más ineficiente.

No hay comentarios:

Publicar un comentario