jueves, 7 de febrero de 2019

Fallo al copiar, mover o borrar múltiples ficheros

Hoy vamos a exponer una situación anómala cuando se intentan eliminar, mover o copiar grandes cantidades de ficheros. Pongamos un ejemplo:
Queremos eliminar todos los archivos de un directorio. Este directorio contiene una cantidad enorme de archivos, por lo que nos encontramos con este fallo:
$ rm -f *
/bin/rm: cannot execute [Argument list too long]
Lo mismo ocurre si hacemos masivamente un cp o mv de estos ficheros.
La forma de ejecutar la acción que necesitamos sobre una cantidad enorme de ficheros es tratando fichero por fichero mediante el comando find:
$ find . -type f -exec rm -f {} \;
Este proceso tardará más de lo habitual porque el comando rm se ejecuta por cada fichero encontrado, pero soluciona nuestro problema original.

1 comentario: