O seguinte copia os primeiros 1000 arquivos encontrados no diretório atual para $destdir
. Embora os arquivos reais dependam da saída retornada por find
.
$ find . -maxdepth 1 -type f |head -1000|xargs cp -t "$destdir"
Você precisará da implementação GNU de cp
para -t
, um find
compatível com GNU para -maxdepth
. Observe também que ele pressupõe que os caminhos de arquivo não contêm espaços em branco, novas linhas, aspas ou barras invertidas (ou caracteres inválidos ou com mais de 255 bytes com algumas xargs
implementações).
EDITAR: Para lidar com nomes de arquivos com espaços, novas linhas, cotações, etc, você pode querer usar linhas terminadas com nulo (assumindo uma versão de head
que possui a opção -z
):
find . -maxdepth 1 -type f -print0 | head -z -n 1000 | xargs -0 -r -- cp -t "$destdir" --