Existem dois comandos chamados rename nas distribuições do Linux. Existe um um dos utilitários básicos do Linux , que é usado assim:
rename SUBSTRING REPLACEMENT FILE...
Este comando substitui a primeira ocorrência de SUBSTRING por REPLACEMENT em cada um dos arquivos especificados. Ele suporta apenas strings simples, não curingas ou expressões regulares. No Debian e derivados (Ubuntu, Mint, etc.), este comando é chamado rename.ul . Em outras distribuições Linux, é chamado rename .
Existe também um script perl chamado rename que é usado assim :
rename 'PERL CODE' FILE...
Uma forma comum de código Perl é rename 's/REGEXP/REPLACEMENT/' FILE... , que substitui a primeira ocorrência de REGEXP por REPLACEMENT em cada nome de arquivo ( s/REGEXP/REPLACEMENT/g substitui todas as ocorrências).
O autor de a pergunta que você viu indicou que ele está concorrendo Ubuntu, por isso ele aceitou esta resposta usando o rename comando encontrado no Ubuntu.
O análogo para o comando padrão rename é
find . -name "*.txt" -exec rename .txt .svg {} \;
Com bash ≥4, você pode usar o ** padrão curinga depois de definir a globstar opção para corresponder arquivos em subdiretórios sem usando find .
shopt -s globstar
rename .txt .svg **/*.txt
Tenha em atenção que este comando rename actua na primeira cadeia, por isso, se tiver um ficheiro denominado hello.txt.world.txt , este será renomeado para hello.svg.world.txt .