Estes exemplos funcionam em qualquer shell POSIX e não requerem programas externos.
Isso armazena os arquivos Part * .mp3 no mesmo nível que o diretório Project:
(cd Project && for i in Part*/audio.mp3; do echo mv "$i" ../"${i%/*}".mp3; done)
Isso mantém os arquivos Part * .mp3 no diretório Project:
for i in Project/Part*/audio.mp3; do echo mv "$i" ./"${i%/*}".mp3; done
Essas soluções usam o pattern matching
parameter expansion
do shell para produzir o novo nome de arquivo.
${parameter%word} Remove Smallest Suffix Pattern. The word is expanded to produce a pattern. The parameter expansion then results in parameter, with the smallest portion of the suffix matched by the pattern deleted.