mv "$dir_path"/* ...
não apenas moverá arquivos, mas tudo em "$dir_path"
. Pelo menos tudo cujo nome não começa com um ponto (arquivos ocultos). No bash você pode mudar isso com a opção dotglob
. Mas se o *
se expande muito bem (combina tudo, mas não muito para uma linha de comando), então você pode usar um shell para indireção:
find . -type d -name "*dir*" -exec bash -c 'mv "$0"/* /path/to/test' {} \;