Bulk / Batch-renomear arquivos com finais diferentes (NÃO mudar os finais)

4

Meu problema é que eu tenho uma pasta com muitos arquivos diferentes, como:

xxxxxxxxx.avi       yyyyyyy.jpg         zzz.txt

E quero renomeá-los para

001.avi  002.jpg  003.txt

Não está funcionando com thunar rename , porque os nomes dos arquivos não são todos do mesmo tamanho.

Talvez com rename 's/.*...... , mas estou meio preso ...

Obrigado por qualquer sugestão

    
por user266728 08.04.2014 / 17:33

3 respostas

5

Se você está confortável com uma solução de linha de comando, você poderia fazer algo assim, no bash

i=1
for file in *.*; do
  printf -v newfile "%03d.%s" $((i++)) ${file##*.}
  echo mv -v -- "$file" "$newfile"
done

O echo impedirá que ele realmente faça quaisquer alterações (ele apenas exibirá uma lista de comandos mv que ele faria) - você pode realmente fazer as alterações executando o mesmo comando sem o echo uma vez você está satisfeito que vai fazer o que quiser.

    
por steeldriver 08.04.2014 / 18:24
1
  

GwenRename é uma ferramenta de renomeação em série. Foi criado como uma ferramenta externa para o GwenView, o visualizador de imagens para o KDE, mas também pode ser usado pelo Konkueror. Dessa forma, os arquivos a serem renomeados são passados para ele como parâmetros de linha de comando, e não há outra maneira de carregar arquivos para ele.

     

O principal objetivo é ter uma ferramenta de renomeação em lote que seja fácil e leve o suficiente para o uso diário. Se você estiver procurando por uma ferramenta de renomeação mais composta e em destaque, você deve dar uma olhada no KRename de Dominik Seichter.

  

pyRenamer é um renomeador de arquivos em massa, escrito em PyGTK.

  • Os dois aplicativos podem ser baixados pelo Centro de Software.
por v2r 08.04.2014 / 18:16
1

Encontrou outra solução bastante curta:

  n=0; for f in * ; do mv "$f" "$n.${f/*./}"; n=$((n+1)); done 
    
por user266728 08.04.2014 / 19:59