Posible duplicado:
¿Cómo mover 100 archivos de una carpeta que contiene miles?
¿Es posible copiar solo los primeros 1000 archivos de un directorio a otro?
Gracias de antemano
Respuesta aceptada:
Lo siguiente copia los primeros 1000 archivos encontrados en el directorio actual a $destdir
. Aunque los archivos reales dependen de la salida devuelta por find
.
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
Necesitarás la implementación GNU de cp
para -t
, un find
compatible con GNU para -maxdepth
. También tenga en cuenta que asume que las rutas de los archivos no contienen espacios en blanco, líneas nuevas, comillas o barras invertidas (o caracteres no válidos o tienen más de 255 bytes con algunos xargs
implementaciones).
EDITAR: Para manejar nombres de archivo con espacios, saltos de línea, comillas, etc., es posible que desee utilizar líneas terminadas en nulo (suponiendo una versión de head
que tiene el -z
opción):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --