"Excluir os arquivos do diretório de origem" geralmente é traduzido como mv
. Infelizmente mv
não tem uma opção como --parent
. A solução mais fácil com cp
é provavelmente: Chame cp
uma vez para cada arquivo. Ineficiente, mas fácil de codificar:
find . -type f \
-name '*.xxx' -exec cp -iv --parents {} /path/to/target_dir \; -delete
O arquivo é excluído se cp
sair com êxito. -delete
pode ser específico para o GNU find
.