GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la forma más eficiente de mover una gran cantidad de archivos que residen en un solo directorio?

Aprovechando GNU mv de -t opción para especificar el directorio de destino, en lugar de confiar en el último argumento:

find . -name "*" -maxdepth 1 -exec mv -t /home/foo2/bulk2 {} +

Si estuviera en un sistema sin la opción, podría usar un shell intermedio para obtener los argumentos en el orden correcto (find … -exec … + no admite poner argumentos adicionales después de la lista de archivos).

find . -name "*" -maxdepth 1 -exec sh -c 'mv "[email protected]" "$0"' /home/foo2/bulk2 {} +

Considere mv ing el directorio principal en lugar de los archivos:

mv /home/foo/bulk /home/foo2/bulk2 && mkdir /home/foo/bulk

(Pero podría causar problemas si /home/foo/bulk debe existir en todo momento.)


Linux
  1. Cómo buscar archivos grandes en la consola

  2. ¿Encontrar archivos para los que existen múltiples variaciones en ese nombre de archivo juntos en el mismo directorio?

  3. Encuentra los archivos que han sido modificados en las últimas 24 horas

  4. Búsqueda de archivos que utilizan la mayor cantidad de espacio en disco

  5. Forma más rápida de eliminar una gran cantidad de archivos

Encuentra archivos grandes en Linux

Cómo mover una gran cantidad de archivos en Linux

Linux:busque el número de archivos en un directorio y subdirectorios

¿Cómo contar el número de archivos en cada directorio?

Contando el número de archivos en un directorio con un comando de terminal OSX

¿Cuál es la forma más rápida de mover un millón de imágenes de un directorio a otro en Linux?