Como renomear vários arquivos com seus primeiros 10 caracteres?

6

Estou com um problema para renomear vários arquivos, substituindo o nome pelos 10 primeiros caracteres do nome antigo. Tentei encontrar a solução na internet, mas não encontrei as respostas.

Exemplo:

Nomes de arquivos originais:

1208605001abAcd.jpg 
1201230111FbcAdee.jpg 
11512345714x611aaa.jpg 

O que eu quero alcançar:

1208605001.jpg 
1201230111.jpg 
1151234571.jpg
    
por surya_darmana 27.05.2016 / 09:54

4 respostas

14

Você pode tentar:

rename -n 's/(.{10}).*(\.jpg)$//' *.jpg

Exemplo:

$ rename -n 's/(.{10}).*(\.jpg)$//' *.jpg
11512345714x611aaa.jpg -> 1151234571.jpg
1201230111FbcAdee.jpg -> 1201230111.jpg
1208605001abAcd.jpg -> 1208605001.jpg

A opção -n apenas simula o comando, para que você possa verificar as alterações. Corra sem ele para realmente fazer as alterações.

O regex (.{10}).*(\.jpg) consiste em:

  • .{10} - quaisquer 10 caracteres, em um grupo (…) , seguidos por
  • .* - qualquer número de caracteres seguido por
  • \.jpg$ - a extensão no final ( $ ) do nome do arquivo, no segundo grupo

A substituição é apenas o primeiro grupo seguido pelo segundo.

    
por muru 27.05.2016 / 09:59
3

Você pode fazer apenas com bash:

for FILE in *.jpg ; do mv "${FILE}" "${FILE:0:10}.jpg" ; done

Com um pouco de trabalho, você pode obter a extensão de arquivo e adicionar automagicamente ao novo nome.

    
por Antonio 27.05.2016 / 17:17
2

Se você usa zsh :

zmv '(*).(*)' '${1:0:10}.'

Se ainda não estiver pronto, talvez seja necessário executar primeiro:

autoload zmv
    
por Kevin 27.05.2016 / 18:51
0

Se você quer uma versão GUI, dê uma olhada no pyRenamer, uma poderosa ferramenta de renomeação em massa.

pyRenamer tem duas grandes vantagens. Uma delas é que permite que você faça um "e se", em outras palavras, para ver o que aconteceria antes de se comprometer com a mudança.

A outra vantagem é bem explicada em sua descrição:

  

Você pode renomear arquivos usando padrões, pesquisar e substituir,   substituições, inserir ou excluir texto, ou até mesmo renomear arquivos manualmente.

     

Você também pode renomear imagens usando suas tags EXIF e músicas usando suas   tags internas.

Para instalar, use o Ubuntu Software Center ou seu instalador de software favorito ou use a linha de comando para emitir o seguinte comando:

sudo apt install pyrenamer
    
por Paddy Landau 31.05.2016 / 16:03