Você poderia fazer algo como abaixo também.
find path_A -name "*AAA*" -print0 | xargs -0 -I {} mv {} path_B
Onde,
-0Se houver espaços em branco ou caracteres (incluindo novas linhas), muitos comandos não funcionarão. Esta opção cuida dos nomes dos arquivos com espaço em branco.
-ISubstitua ocorrências de replace-str nos argumentos iniciais pelos nomes lidos na entrada padrão. Além disso, espaços em branco não citados não finalizam itens de entrada; em vez disso, o separador é o caractere de nova linha.
Testando
Eu criei dois diretórios como sourcedire destdir. Agora, eu criei monte de arquivos dentro sourcedirde file1.bak, file2.bakefile3 with spaces.bak
Agora, eu executei o comando como,
find . -name "*.bak" -print0 | xargs -0 -I {} mv {} /destdir/
Agora, dentro do destdir, quando eu faço ls, pude ver que os arquivos foram movidos de sourcedirpara destdir.
Referências
http://www.cyberciti.biz/faq/linux-unix-bsd-xargs-construct-argument-lists-utility/