Достаточно простого цикла оболочки:
for d in dish_*; do
echo mv "$d/rgb.png" "$d/$d.png"
done
или (если вам нужно запустить его откуда-то, кроме содержащего каталога)
for d in path/to/dish_*; do
f="${d##*/}.png"
echo mv "$d/rgb.png" "$d/$f"
done
Удалите его, echo ,
как только убедитесь, что он работает правильно.
Если вы хотите пофантазировать, вы можете сделать что-то подобное с GNU parallel
:
parallel echo mv {}/rgb.png {}/{/.}.png ::: path/to/dish_*
или (если список аргументов слишком длинный)
printf '%s\0' path/to/dish_* | parallel --null echo mv {}/rgb.png {}/{/.}.png