Renomear em massa, alterar sufixo? [duplicado]

0

Como posso substituir o sufixo em massa para muitos arquivos?

Eu tenho muitos arquivos como

  • NameSomthing-min.png
  • NameSomthing1-min.png
  • NameSomthing2-min.png

Eu gostaria de mudar todos eles para

  • NameSomthing.png
  • NameSomthing1.png
  • NameSomthing2.png

isto é, remova os caracteres -min do nome. Como eu faria isso?

    
por Rajamohamed 12.02.2016 / 06:27

2 respostas

1

Este script pode ajudar:

for file in *-min.png; do
    echo mv "$file" "${file%-min.png}.png"
done

Remova o eco para realmente executar o comando.

    
por 12.02.2016 / 07:50
1

Isso depende do seu shell. Eu uso zsh , e é assim que eu faço:

for i in *-min.*; do mv $i "${i%-*}.${i#*.}"; done

Eu aconselho verificar a manpage do seu shell, e verificar uma seção similar a "expansão de parâmetro" (como é chamado no zsh man page ).

Soluções similares também estão disponíveis para bash e outras shells (você não especificou qual delas você usa).

Por favor, note que a sua solução particular depende sempre dos dados e do seu objetivo. se você tem o '-' como separador entre o nome e o sufixo que você quer se livrar, este é o caminho a percorrer. Se não, você pode querer adaptar um pouco a expansão do parâmetro.

    
por 12.02.2016 / 07:16