Linha de comando para alterar nomes de arquivos

0

Eu tenho um grande número de arquivos que gostaria de renomear. Aqui está um exemplo de como eu gostaria de alterar os nomes dos arquivos:

De:

PD5 grey nice display 1.jpg

Para:

pd5-grey-nice-display-showcase-1.jpg

Qual é o código da linha de comando que eu precisaria usar?

    
por Jason 08.03.2018 / 05:07

1 resposta

6

Se você tem o rename do Perl:

rename -n '$_=lc;s/ /-/g;s/([0-9]+)\./showcase-$1\./' your_file_name

deve fazer o truque.

Explicação:

  • $_=lc converte todos os caracteres em minúsculas
  • s/ /-/g substitui todos os espaços individuais por um traço (use s/ +/-/g se você antecipar vários espaços consecutivos)
  • s/([0-9]+)\./showcase-$1\./ procura por uma sequência de dígitos consecutivos seguida por um ponto (marcando a extensão do nome do arquivo) e adiciona showcase- antes dessa sequência.

Nota

  • O código acima não fará nada , apenas imprimirá o novo nome do arquivo sem realmente renomear o arquivo. Depois de se certificar de que funciona corretamente, você pode remover a opção -n .
por 08.03.2018 / 05:13