17 votos

Cómo quitar muchos (200 000) de los archivos?

Debo quitar 200 000 archivos (todos ellos) de una carpeta, y no quiero borrar la carpeta en sí.

el uso de rm, me sale un "Argumento de la lista es demasiado larga" de error. He tratado de hacer algo con xargs, pero yo no soy un Shell de Hombre, por lo tanto no funciona:

find -name * | xargs rm -f

36voto

quanta Puntos 31979
$ find /path/to/folder -type f -delete

9voto

dtoubelis Puntos 1852

Usted está haciendo todo bien. Es el '*' que le da un problema (el shell se está expandiendo en la lista de archivos en lugar de la find). La sintaxis podría ser:

cd <your_directory>; find . -type f | xargs rm -f
find <your_directory> -type f | xargs rm -f

(El último es un poco menos eficiente, ya que pasará nombres más largos a xargs, pero apenas se notará :-) )

Alternativamente, usted podría escapar de su '*' como este (en caso de que también se intenta quitar también el "." y ".."; no es un problema - usted acaba de conseguir un poco de advertencia :-) ):

find . -name '*' | xargs rm -f
find . -name "*" | xargs rm -f
find . -name \* | xargs rm -f

Si los nombres de archivo contiene espacios, a continuación, utilizar esta:

find . -type f -print0 | xargs -0 rm -f

3voto

George Tasioulis Puntos 1423

El siguiente comando elimina todos los archivos de la actual directorio:

find . -type f -exec rm {} \;

2voto

katit Puntos 130

usted puede tratar de

find /path/to/folder -type f -print0  | xargs -0 rm -f

o

find /path/to/folder -type f -exec rm -f "{}" +

1voto

Waltur Buerk Puntos 11

Felicitaciones a quantas respuesta, aquí están algunas adiciones.

Si desea eliminar los archivos con un nombre determinado patrón se puede escribir como este. También-agregó -, la impresión, así que usted puede ver lo que está sucediendo, ya que los archivos están siendo eliminados.

sudo find /home/mydirectory -name "*.jpg" -type f -print -delete

Esto por ejemplo elimina todos los archivos jpeg almacenados en midirectorio.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: