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:
Debian / Ubuntu e derivados:
Fedora / CentOS:
Utilizando o comando rename no Linux
A seguir, a sintaxe geral do comando rename:
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:
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:
A saída será algo como isto:
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:
Se você deseja renomear para imprimir os nomes dos arquivos renomeados com sucesso, use a opção “-v“:
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:
Converter nomes de arquivos em minúsculas:
Converter nomes de arquivos em maiúsculas:
Remover “.bak” dos nomes dos arquivos:
Renomeie os nomes de arquivo “.jpeg” ou “.JPG” para “.jpg”:
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