Você tem a sintaxe para mv
errada. Deve ser:
mv source destination
Você está executando
mv destination source
Portanto, o comando find
está realmente em execução
mv pasta2 pasta/tmp3
mv pasta2 pasta/tmp2
mv pasta2 pasta/tmp1
Ele está reclamando que você está tentando sobrescrever ( mv
) um diretório com um arquivo regular. O que você realmente quer fazer é
find pasta -type f -exec mv {} pasta2 \;
Isso será executado
mv pasta/tmp3 pasta2
mv pasta/tmp2 pasta2
mv pasta/tmp1 pasta2
que deve ser executado sem erros.