Acho que é isso que você está procurando:
$ find /file/location/ -type f -size +88M -size -93M \
-exec cp {} /new/location/ \;'
Este comando encontrará apenas arquivos maiores que 88MB e menores que 93MB. Em seguida, copiará cada um dos arquivos para /new/location
.
Quando se trata de manter a estrutura de diretórios, fica um pouco mais difícil. Eu resolveria esse problema assim:
$ cd /pp
$ find . -type f -size +88M -size -93M -exec cp \
--parents {} /new/location/pp \;
Isso fará com que find
retornem caminhos de arquivos parecidos com 01/myfile
, 02/myfile
, etc. O sinalizador pai em cp
faz anexar uma barra + o nome especificado do arquivo de origem.
Exemplo: find
encontra um arquivo que corresponde e gera "02 / myfile". cp
move este arquivo para /new/location/pp/02/myfile
, criando todos os diretórios necessários.