Se você pode depender do formato do nome do arquivo, existe o seu comando:
for i in $(seq 0 2); do mv database*-"$i".tar.gz "db${i}file"/; done
Existe a descrição. Seus arquivos parecem ter formato estável database*-NUMBER.tar.gz e o mesmo número está no nome do diretório dbNUMBERfile . Podemos apenas gerar números até o mais alto (neste exemplo, 0..2 e executar por ciclo para esses números. No caso de banco de dados simples, $i é suficiente, pois é limitado por - e . , porém db$ifile não funcionaria, pois não há $ifile variável definida. Portanto, temos que usar chaves db${i}file , então o $i está devidamente resolvido.