Como renomear múltiplos arquivos com prefixo e sufixo usando um comando find

1

Eu tenho o seguinte comando que renomeia um número de arquivos encontrados pelo comando find, adicionando o sufixo " processado". Como eu modificaria isso para adicionar um prefixo como "ren "?

find . -type f -name 'file*.dat' -execdir mv {} {}_processed ';'
    
por JoeA 06.06.2017 / 20:44

1 resposta

2

Considere o uso do comando rename (com base na expressão Perl):

find . -type f -name "file*.dat" -execdir rename 's/(file.*?\.dat)$/ren_$1_processed/' {} +

Observe que a renomeação regex precisa ser preguiçosa para que não capture um arquivo na parte do diretório. Além disso, a renomeação pode ter vários argumentos felizes.

Isso renomeará todos os arquivos fornecidos pelo comando find adicionando o prefixo ren_ e o sufixo _processed nos dois lados do nome do arquivo "base"

    
por 06.06.2017 / 21:38

Tags