Supondo que você tenha o GNU ( find , xargs , & mv ), mude seu comando para isto:
$ find /foot/bar/ -name '*.csv' -print0 | xargs -0 mv -t some_dir
trecho da página de manualmv
-t, --target-directory=DIRECTORY
move all SOURCE arguments into DIRECTORY
O xargs ... acima irá construir o comando para que as chamadas a serem movidas sejam assim:
$ mv 1.csv 2.csv 3.csv ... -t some_dir
Não precisa de xargs
Você pode ignorar essa abordagem fazendo com que find faça todo o trabalho:
$ find /foot/bar/ -name '*.csv' -exec mv -t some_dir {} +
Por que você precisa do mv -t ... ?
Isso tem a ver com a maneira como o xargs está construindo o conjunto de arquivos para passar para o comando que será executado a cada vez (ou seja, mv ... ).
Quando você executa o comando mv manualmente, controla quantos nomes de arquivo são passados para ele e, portanto, não precisa se preocupar em precisar do -t my_dir , pois sempre colocará o diretório de destino por último.