Linux básico - Aula 13 - Movendo e renomeando pastas ou arquivos com o comando mv
Índice:
Renomear vários arquivos e diretórios com o comando
mv
pode ser um processo tedioso, pois envolve escrever comandos complexos com pipes, loops e assim por diante.
É aqui que o comando
rename
é útil. Renomeia os arquivos fornecidos, substituindo a expressão de pesquisa em seu nome pela substituição especificada.
Neste tutorial, explicaremos como usar o comando
rename
para renomear arquivos em lote.
Instalando
rename
Existem duas versões do comando
rename
com sintaxe e recursos diferentes. Nós estaremos usando a versão Perl do comando
rename
.
Se esta versão não estiver instalada no seu sistema, use o gerenciador de pacotes da sua distribuição Linux para instalá-la:
-
Ubuntu e Debian
sudo apt update
sudo apt install rename
CentOS e Fedora
sudo yum install prename
Arch Linux
yay perl-rename
Usando
rename
A seguir está a sintaxe geral para o comando
rename
:
rename perlexpr files
O comando
rename
é basicamente um script Perl. Renomeará os
files
fornecidos de acordo com a expressão regular especificada do
perlexpr
. Você pode ler sobre expressões regulares do Perl aqui.
Por exemplo, o seguinte comando alterará a extensão de todos os arquivos
.css
para
.scss
:
rename 's/.css/.scss/' *.css
Vamos explicar o comando em 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 comandorename
procurará esse padrão no nome do arquivo especificado e, se encontrado, 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". Curinga (*
) é um símbolo usado para representar zero, um ou mais caracteres.
Antes de executar o comando real e renomear os arquivos e diretórios, é sempre uma boa ideia usar a opção
-n
que executará uma "execução a seco" e mostrará quais arquivos serão renomeados:
rename -n 's/.css/.scss/' *.css
A saída será mais ou menos assim:
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 substitui os arquivos existentes. Use a opção
-f
que indica
rename
para substituir os arquivos existentes:
rename -f 's/.css/.scss/' *.css
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
renomear
Conclusão
O comando
rename
permite renomear vários arquivos de uma vez, usando expressões regulares do Perl.
Renomear avançado: Freeware renomear arquivos em lote no Windows
Renomear avançado é um utilitário de renomeação de arquivo em lote gratuito para renomear vários arquivos no Windows. Configure o método de renomeação e renomeie vários arquivos e pastas de uma só vez.
Upload de arquivos e imagens: Envie arquivos para vários sites de hospedagem de arquivos
Arquivo e Image Uploader serão redimensionados automaticamente, upload de 1 ou mais arquivos para um único ou vários sites de hospedagem de arquivos com apenas um clique.
Renomear vários nomes de arquivos ou pastas pelo menu de contexto
Deseja renomear vários nomes de pastas e arquivos pelo menu de contexto? Instale o ContextReplace no Windows para substituir os arquivos ou nomes de pasta de uma vez.