É muito parecido com find...-exec
: invocar um shell para poder usar a expansão de parâmetro, extrair o diretório PARENT
e o EXTENSION
para que você possa construir o novo nome como PARENT/NAME.EXTENSION
e mover / renomear :
find target_dir -type f -exec sh -c '
h=${1%/*}; mv "$1" "${h}/NAME.${1##*.}"' sh {} \;
Se você quiser executar o acima, execute um echo
antes do mv
...
Se você tiver acesso a zsh
, poderá executar:
autoload zmv
zmv -n '(**/)(*.*)' '${1}NAME.${2:e}'
remova o -n
se estiver satisfeito com o resultado.