Para sua pergunta em particular, este comando funcionará. Verifique se você está satisfeito com a renomeação proposta e, em seguida, descarte o -n
para que a operação continue.
rename -n 's/\.xvg$/.txt/' *.xvg
Isso basicamente significa que para todos os arquivos com a extensão .xvg
no diretório atual, localize os arquivos que terminam ( $
) com .xvg
e altere essa parte do nome para .txt
.
Mais detalhes e um exemplo abaixo.
Sim, o comando rename
fará isso por você. Um pequeno exemplo em que renomeio todos os meus arquivos com a extensão .html
para .html_bak
, ignorando outros arquivos no diretório.
Eu strongmente recomendo usar a opção de linha de comando -n
primeiro (explicado abaixo) para ver quais mudanças aconteceriam antes de executar a comando real.
O que eu começo com:
$ ls
a.html a.txt b.html htmlfile
o -n
significa um "teste experimental" .. apenas mostre o que mudaria, não mude nada!
$ rename -n 's/\.html$/.html_bak/' *
a.html renamed as a.html_bak
b.html renamed as b.html_bak
Ainda tem os arquivos originais.
$ ls
a.html a.txt b.html htmlfile
Agora para valer:
$ rename 's/\.html$/.html_bak/' *
Os arquivos foram renomeados.
$ ls
a.html_bak a.txt b.html_bak htmlfile
Nos exemplos acima eu uso *
para especificar os arquivos a serem considerados para a operação de renomeação. Eu poderia ter restringido isso a .html
arquivos apenas com *.html
.
Para mais informações, consulte a man page rename