Como renomear vários arquivos no Linux

Por Redação SempreUpdate 4 minutos de leitura
Imagem reprodução: Linuxize

Renomear vários arquivos e diretórios com o comando “mv” pode ser um processo tedioso, pois envolve a escrita de comandos complexos com pipes, loops e assim por diante. No entanto, há um pacote que facilitará como renomear vários arquivos no Linux, chamado de rename.

Então, o rename é muito útil e será utilizado no Terminal do Linux. Ele renomeia os arquivos fornecidos substituindo a expressão de pesquisa em seu nome pela substituição especificada de forma simples.

A seguir, explicaremos como usar o comando rename para renomear arquivos em lote.

Instalando o rename no Linux

Existem duas versões do comando rename com sintaxe e recursos diferentes. Nós estaremos utilizando a versão Perl do comando rename.

Porém, se esta versão não estiver instalada em seu sistema, use o gerenciador de pacotes de sua distribuição Linux para instalá-lo.

Arch Linux / Manjaro Linux e derivados:

sudo pacman -S perl-rename

Debian / Ubuntu e derivados:

sudo apt install rename

Fedora / CentOS:

sudo yum install prename

Utilizando o comando rename no Linux

A seguir, a sintaxe geral do comando rename:

rename [OPTIONS] perlexpr files

O comando rename é basicamente um script Perl. Ele renomeará os arquivos fornecidos de acordo com a expressão regular perlexpr especificada. Assim, você pode ler sobre expressões regulares Perl aqui.

Por exemplo, o seguinte comando irá alterar a extensão de todos os arquivos .css para .scss:

rename ‘s/.css/.scss/’ *.css

Vamos explicar o comando com mais detalhes:

  • s/search_pattern/replacement/ – O operador de substituição.
  • .css – O padrão de pesquisa. É o primeiro argumento no operador de substituição. O comando rename procurará esse padrão no nome de arquivo fornecido e, se encontrado, ele o substituirá pelo argumento de substituição.
  • .scss – A substituição. O segundo argumento no operador de substituição.
  • *.css – Todos os arquivos com extensão “.css”. O curinga (*) é um símbolo usado para representar zero, um ou mais caracteres.

Antes de executar o comando atual e renomear os arquivos e diretórios, é sempre uma boa ideia usar a opção “-n”  que mostrará quais arquivos serão renomeados:

rename -n ‘s/.css/.scss/’ *.css

A saída será algo como isto:

rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

Por padrão, o comando rename não sobrescreve os arquivos existentes. Use a opção “-f” para sobrescrever os arquivos existentes:

rename -f ‘s/.css/.scss/’ *.css

Se você deseja renomear para imprimir os nomes dos arquivos renomeados com sucesso, use a opção “-v“:

rename -v ‘s/.css/.scss/’ *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

Exemplos de comandos rename no Linux

Abaixo estão alguns exemplos comuns de como usar o comando rename:

Substitua espaços em nomes de arquivos por sublinhados:

rename ‘y/ /_/’ *

Converter nomes de arquivos em minúsculas:

rename ‘y/A-Z/a-z/’ *

Converter nomes de arquivos em maiúsculas:

rename ‘y/a-z/A-Z/’ *

Remover “.bak” dos nomes dos arquivos:

rename ‘s/.bak$//’ *.bak

Renomeie os nomes de arquivo “.jpeg” ou “.JPG” para “.jpg”:

rename ‘s/.jpe?g$/.jpg/i’ *

Em suma, o comando rename permite renomear vários arquivos no Linux de uma só vez pelo Terminal, utilizando expressões regulares Perl de modo simples. Assim, os seguidores da filosofia KISS – e não é a banda de hard rock [rs] – agradecem.

Fonte: Linuxize

Share This Article
Sair da versão mobile