Se você permitir programas externos, poderá usar find
e rename
:
find . -type f -name '*_rier*' -exec rename 's/rier/river/g' {} \+
find . -type d -name '*_rier*' -exec rename 's/rier/river/g' {} \+
Se você não quiser usar ferramentas externas, use
# rename directories
for f in *rier*; do
mv -- "$f" "${f/rier/river}"
done
# rename files
for f in */*rier*; do
mv -- "$f" "${f/rier/river}"
done
Primeiro, renomeia os diretórios e, em seguida, os arquivos.