С помощью только shell, используя расширение параметров:
for f in *456*; do echo mv -i -- "$f" "${f//456/555}"; done
здесь мы перебираем файлы, имеющие в имени 456
, а шаблон расширения параметров ${f//456/555}
заменит все подстроки 456
в имени файла на 555
.
Выше показано, как будет выполняться команда mv
, вы можете удалить echo
, чтобы действие было выполнено:
for f in *456*; do mv -i -- "$f" "${f//456/555}"; done
с rename
(prename
):
rename -n 's/456/555/g' *456*
это заменит все (g
) 456
подстроки из имен файлов на 555
(s/456/555/
).
-n
выполнит пробный запуск, если вас устраивают изменения, удалите -n
, чтобы произошло фактическое переименование:
rename 's/456/555/g' *456*