Como renomear um certo prefixo em múltiplos arquivos?

3

Eu tenho uma pasta que contém mais de 500 arquivos com um determinado prefixo. Esses arquivos são distribuídos em várias pastas em um diretório. Meu objetivo é renomear esse prefixo nesses arquivos múltiplos.

Nomes e caminhos de arquivos de amostra:

  • MyFiles / my- antigo -FileOfAlice.txt
  • MyFiles / Pasta 1 / minha- antiga -FileOfTom.odt
  • MyFiles / Folder 2 / my- antigo -FileOfJane.doc

O objetivo é renomeá-los para:

  • MyFiles / my- novo -FileOfAlice.txt
  • MyFiles / Folder 1 / my- novo -FileOfTom.odt
  • MyFiles / Folder 2 / my- novo -FileOfJane.doc

Notas:

  • Os arquivos não possuem a mesma extensão.
  • Os arquivos são distribuídos em várias pastas no mesmo diretório. Eu estou usando o Kubuntu 16.10. Qualquer resposta orientada para o Ubuntu será aceita e apreciada.

Qualquer linha de comando, programa, guia, tutorial ou link seria muito apreciado. Agradecemos antecipadamente!

    
por Ken 02.02.2017 / 09:10

1 resposta

4

Você pode usar o seguinte comando:

find -name "*-old-*" -exec rename 's/-old-/-new-/' {} \;

Isso procura arquivos contendo -old- recursivamente a partir do diretório atual e renomeia-os substituindo -old- por -new- .

Nota: substituir old pode ser suficiente, mas incluímos o - no caso, há um segundo old no nome (como meu- antigo -F antigo ers.doc).

    
por Wayne_Yux 02.02.2017 / 09:24