Possibile duplicato:
Come spostare 100 file da una cartella che ne contiene migliaia?
È possibile copiare solo i primi 1000 file da una directory all'altra?
Grazie in anticipo
Risposta accettata:
Quanto segue copia i primi 1000 file trovati nella directory corrente in $destdir
. Sebbene i file effettivi dipendano dall'output restituito da find
.
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
Avrai bisogno dell'implementazione GNU di cp
per -t
, un find
compatibile con GNU per -maxdepth
. Tieni inoltre presente che presuppone che i percorsi dei file non contengano spazi vuoti, newline, virgolette o barre rovesciate (o caratteri non validi o siano più lunghi di 255 byte con alcuni xargs
implementazioni).
MODIFICA: Per gestire i nomi dei file con spazi, newline, virgolette ecc., potresti voler usare righe con terminazione null (supponendo una versione di head
che ha il -z
opzione):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --