Você pode fazer uma corrida seca simplesmente incluindo echo
:
find /directory -name \*.jpg -exec echo mv {} ../jpg/ \;
Mas isso não fará o que você quer, já que ../jpg
é sempre avaliado no diretório atual, portanto, moveria todas as imagens jpg para $PWD/../jpg
.
Isso deve funcionar como esperado:
find /directory -name "*.jpg" -execdir pwd \; -execdir echo mv -v '{}' ../jpg \;
porque -execdir
é
like
-exec
, but the specified command is run from the subdirectory containing the matched file, which is not normally the directory in which you started find. This a much more secure method for invoking commands, as it avoids race conditions during resolution of the paths to the matched files.
Mas é claro que "Estamos falando de dezenas de gigabytes de dados e milhares de arquivos que são críticos para a organização de nossos clientes." , sempre tenha um backup atualizado em mão ...