Esse script bash deve fazer: o caminho para manipular deve ser passado para ele como um argumento (isso é intencional), por exemplo:
./script.sh <directory>
#!/bin/bash
while read filepath
do
newpath="$(<<< "$filepath" sed 's/^\(.*\)\/\(.*\)\/[^ ]*\(.*\)$/\/\/Folder - Page 0/')"
mv "$filepath" "$newpath"
done <<< "'find -type f \( -iname '*.png' -o -iname '*.jpeg' -o -iname '*.jpg' \)'"
Antes:
<directory>
├── f1
│ ├── Image 01.png
│ ├── Image 02.png
│ └── Image 03.jpeg
├── f2
│ └── f2.1
│ ├── Image 04.jpeg
│ ├── Image 05.jpg
│ └── Image 06.jpg
└── f3
└── f3.1
└── f3.1.1
├── Image 07.png
├── Image 08.png
└── Image 09.jpeg
Depois:
<directory>
├── f1
│ ├── Folder f1 - Page 001.png
│ ├── Folder f1 - Page 002.png
│ └── Folder f1 - Page 003.jpeg
├── f2
│ └── f2.1
│ ├── Folder f2.1 - Page 004.jpeg
│ ├── Folder f2.1 - Page 005.jpg
│ └── Folder f2.1 - Page 006.jpg
└── f3
└── f3.1
└── f3.1.1
├── Folder f3.1.1 - Page 007.png
├── Folder f3.1.1 - Page 008.png
└── Folder f3.1.1 - Page 009.jpeg