Substitua parte da string no nome do arquivo

Substitua parte da string no nome do arquivo

Tenho vários arquivos em um diretório que termina com 'StringtoReplace'. Como posso substituir essa parte do nome do arquivo de todos os arquivos no diretório por uma nova string, 'ReplacedString'?

Responder1

Isso substituirá a primeira instância de "StringtoReplace" por "ReplacedString":

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

Isto substituirá odurarinstância de "StringtoReplace" com "ReplacedString":

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

informação relacionada