Para encontrar todos los archivos que cumplan con el formato de nombre, usa find. Para procesar cada uno, crea un script que reciba uno o más nombres como parámetros.
El script que procesa los nombres, debe poder identificar la primera parte, "cut" puede fácilmente cortar una cadena. En general, el código debería ser algo como
Código BASH:
Ver originalfind /micarpeta -name "*.DAT" -exec procesar.sh {} \;
procesar.sh:
Código BASH:
Ver originalARCHIVO=$1
DIR=$(echo $ARCHIVO | cut -d" " -f 1)
mv $ARCHIVO $DIR/
fi
(te toca ocuparte de resolver los problemas que surgen por los espacios en los nombres de archivo, no es difícil ;) )