Заменить часть строки в имени файла

Заменить часть строки в имени файла

У меня есть несколько файлов в каталоге, заканчивающемся на 'StringtoReplace'. Как мне заменить эту часть имени файла для всех файлов в каталоге на новую строку 'ReplacedString'?

решение1

Это заменит первый экземпляр «StringtoReplace» на «ReplacedString»:

for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f/StringtoReplace/ReplacedString}"; done

Это заменитпоследнийэкземпляр «StringtoReplace» с «ReplacedString»:

for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f%StringtoReplace}ReplacedString"; done

Связанный контент