Você pode escrever um roteiro minúsculo para fazer isso para você, nesse sentido (ajuste conforme necessário, não sei se entendi direito):
> cat tst.sh
#!/bin/bash
for river in amazon niger rhine ; do
for name in gfdl hadgem ipsl ; do
for count in 1 2 3 4 ; do
mkdir ${river}/${name}/${count}
cp -a ${river}/${name}/${river}_${name} ${river}/${name}/${count}
mv ${river}/${name}/${river}_${name}${count} ${river}/${name}/${count}
done
done
done
Antes de executá-lo:
> find . | sort
.
./amazon
./amazon/gfdl
./amazon/gfdl/amazon_gfdl
./amazon/gfdl/amazon_gfdl1
./amazon/gfdl/amazon_gfdl2
./amazon/gfdl/amazon_gfdl3
./amazon/gfdl/amazon_gfdl4
./amazon/gfdl/amazon_gfdl5
...
Resultado:
> chmod u+x tst.sh
> ./tst.sh
> find . | sort
.
./amazon
./amazon/gfdl
./amazon/gfdl/1
./amazon/gfdl/1/amazon_gfdl
./amazon/gfdl/1/amazon_gfdl1
./amazon/gfdl/2
./amazon/gfdl/2/amazon_gfdl
./amazon/gfdl/2/amazon_gfdl2
./amazon/gfdl/3
./amazon/gfdl/3/amazon_gfdl
./amazon/gfdl/3/amazon_gfdl3
./amazon/gfdl/4
./amazon/gfdl/4/amazon_gfdl
./amazon/gfdl/4/amazon_gfdl4
./amazon/gfdl/amazon_gfdl
./amazon/gfdl/amazon_gfdl5
...