Como Renomear Arquivos no Linux

Você é novo no sistema operacional Linux? Se sim, tarefas comuns, como renomear arquivos e pastas, podem ser diferentes do que você está acostumado. Mas não se preocupe. O conceito de renomear arquivos no Linux é semelhante ao que é feito em outros sistemas operacionais.

Neste tutorial, você aprenderá muitas maneiras de renomear arquivos únicos e múltiplos no Linux, tanto por meio da interface gráfica quanto executando comandos no terminal.

Vamos começar!

Pré-requisitos

Para seguir este tutorial, certifique-se de ter o seguinte:

Renomear Arquivos no Linux com o Gerenciador de Arquivos

Se você está acostumado a gerenciar arquivos por meio de uma interface gráfica, vamos começar este tutorial para renomear arquivos com um gerenciador de arquivos. Os gerenciadores de arquivos com interface gráfica são legais, pois você pode ver os arquivos claramente. Um desses gerenciadores de arquivos disponíveis no Linux é o antigo gerenciador de arquivos do GNOME, o Nautilus. Este tutorial demonstra como renomear arquivos usando o gerenciador de arquivos Nautilus.

Outros gerenciadores de arquivos do Linux são o Konqueror, Dolphin, Krusader, Thunar, o gerenciador de arquivos Nemo e o Sunflower gerenciador de arquivos. Esses gerenciadores de arquivos realizam a mesma tarefa, mas renomear arquivos ou diretórios pode ser ligeiramente diferente.

Inicie seu terminal e execute o comando abaixo para instalar o Nautilus (instalar nautilus) com o gerenciador de pacotes apt se você ainda não o tiver em sua máquina. O comando sudo eleva o comando com direitos de sudo/administrador.

sudo apt install nautilus

Renomeando um Único Arquivo

Renomear um único arquivo no Nautilus leva apenas alguns cliques, como no Windows File Explorer.

Para renomear um único arquivo, abra o Nautilus, clique com o botão direito no arquivo que deseja renomear e escolha Renomear, conforme mostrado abaixo.

Este exemplo concentra-se na renomeação de arquivos, mas o processo é o mesmo para renomear tanto arquivos quanto diretórios.

Renaming a Single File

Agora digite o novo nome do arquivo para substituir o nome original do arquivo, pressione Enter ou clique em Renomear, e pronto.

Entering New File Name

Renomear Vários Arquivos usando o Gerenciador de Arquivos Nautilus

Assim como no Windows, o Ubuntu oferece mais opções sobre como você deseja renomear vários arquivos de uma vez.

Para renomear vários arquivos, selecione todos os arquivos que deseja renomear, clique com o botão direito em qualquer um deles e escolha Renomear. Uma janela pop-up aparecerá onde você pode escolher como deseja renomear os arquivos selecionados.

Renaming Multiple Files Using Nautilus.

Abaixo, existem duas opções a serem escolhidas, dependendo de como você deseja renomear os arquivos selecionados.

  • Renomear usando um modelo – Isso permite renomear arquivos em incrementos.
  • Encontrar e substituir texto – Permite encontrar e substituir textos específicos nos nomes dos arquivos.

Renomear Arquivos usando um Modelo

Para renomear arquivos usando um modelo, selecione a opção Renomear usando um modelo.

Agora insira o nome de substituição no campo vazio para renomear arquivos com um modelo e clique no botão +Adicionar e escolha entre os modelos. Para este tutorial, selecione o primeiro (1,2,3,4) e clique em Renomear. Esta opção adiciona números crescentes a cada arquivo após o nome do arquivo de substituição (Texto1, Texto2,…).

Renaming Files using a Template

Notice que os nomes dos arquivos foram alterados para Texto, seguidos por números incrementais.

Verifying File Names Changed to “Text” with Incrementing Num

Localizando e Substituindo Palavras nos Nomes dos Arquivos

Para renomear vários arquivos com um nome específico, selecione a opção Encontrar e substituir texto.

Insira o texto no campo Texto Existente e o texto de substituição no campo Substituir Por, em seguida, clique em Renomear para substituir o texto. Essa opção encontra e substitui determinados textos nos nomes dos arquivos.

Replacing Texts in File Names

Agora, você pode ver abaixo que substituiu a palavra “Texto” por “Arquivo” em cada nome de arquivo.

Verifying the word “Text” was replaced with the word “File” on Each File

Renomeando Arquivos com o Comando mv

Se executar comandos é a sua praia em vez de navegar em uma interface gráfica, prepare-se para aprender como renomear arquivos em um terminal. Renomear arquivos no terminal do Linux é semelhante a fazê-lo em outros ambientes de linha de comando, como o PowerShell. Você executa os comandos para renomear o nome do arquivo original para o nome do arquivo de destino, e é isso.

Há dois cenários para renomear um arquivo. O primeiro é renomear um arquivo do diretório de trabalho, e o segundo é especificando o caminho completo. Dê uma olhada na sintaxe do comando mv abaixo para renomear um arquivo, onde a origem é o nome original e o destino é o nome de substituição.

# Renomear um arquivo ou diretório no diretório de trabalho
mv <source> <destination>
# Renomear um arquivo especificando o caminho completo
mv <~/mydir/source> <~/mydir/destination>

Renomeando um Único Arquivo com o Comando mv

Enquanto a sintaxe do comando `mv` ainda está fresca em sua mente, vamos tentar renomear um único arquivo.

Para demonstrar como renomear um único arquivo e diretório:

1. Inicie o terminal e execute a série de comandos abaixo para criar um diretório e dois arquivos de texto.

# Crie um diretório chamado 'test'
mkdir test 
# Mude para o diretório ~/test
cd test 
# Crie arquivos de texto chamados 'file1.txt' e 'file2.txt'
touch file1.txt file2.txt 

2. Em seguida, execute o comando ls para listar os arquivos dentro do diretório de trabalho. Abaixo, você pode ver que file1.txt e file2.txt existem no diretório ~/test.

Listing Files in the Working Directory

3. Execute um dos comandos mv abaixo para renomear file1.txt como file10.txt.

# Renomear um arquivo no diretório de trabalho
mv file1.txt file10.txt

# Renomear um arquivo especificando o caminho completo
mv ~/test/file1.txt ~/test/file10.txt

Renomear um diretório é o mesmo que renomear um arquivo, assim: mv ~/test ~/demo. O símbolo ~ denota o diretório home.

4. Por fim, execute novamente o comando ls para listar os arquivos no diretório de trabalho.

Abaixo, você pode ver que o arquivo1.txt agora foi renomeado como file10.txt.

Confirming file1.txt is renamed as file10.txt

Renomeando Múltiplos Arquivos com um Loop For

Se você estiver muito ocupado com outras tarefas e quiser renomear todos os arquivos de uma vez, será necessário usar uma instrução de loop como a abaixo.

Copie o código conforme está, cole no seu terminal e pressione Enter. O código abaixo escaneia cada arquivo de texto no diretório de trabalho e renomeia os arquivos com “File” seguido de um número crescente.

# Declara variável com valor definido como 1
i=1 
# Escaneia cada arquivo de texto no diretório de trabalho
for file in *.txt; 
# Itera o comando abaixo até que todos os arquivos sejam escaneados
do 
  # Renomeia cada arquivo com "File" seguido do número incrementado ($i)
	mv -- "$file" "File$i.txt"
  # Incrementa o valor atual da variável de número em 1
  i=$((i+1)) 
done

Colar o código no seu terminal funciona bem, mas como boa prática, é melhor se você criar um arquivo de script para executar em vez disso.

Abaixo, você pode ver em ação como o código renomeia todos os arquivos.

Renaming Files with a For Loop

Renomeando Arquivos no Linux com o Utilitário rename

Se estiver a renomear um único ficheiro na sua rotina diária, então o comando mv será suficiente. Mas talvez esteja a tentar renomear vários ficheiros com o mesmo padrão de uma vez? Por exemplo, renomear ficheiros que começam com uma certa palavra (file). Nesse caso, instale o utilitário rename em vez disso.

O utilitário rename renomeia vários ficheiros, altera formatos de nomes de ficheiros e sobrescreve ficheiros.

Para instalar o utilitário rename, execute um dos comandos abaixo, dependendo da distribuição Linux em que está a trabalhar.

# Instalar o utilitário rename com o gestor de pacotes apt para Ubuntu, Debian e Linux Mint
sudo apt install rename
# Instalar o utilitário rename com o gestor de pacotes dnf para CentOS, Fedora e Red Hat
sudo dnf install prename
# Instalar o utilitário rename com o gestor de pacotes pacman para Arch Linux / Manjaro Linux
sudo pacman -S perl-rename

Abaixo, pode ver a sintaxe do comando rename.

rename <options> <perlexpr> <files>

Renomear Vários Ficheiros

Com a sintaxe do comando rename em mente, agora pode renomear ficheiros que têm o mesmo padrão. O que é ótimo no comando rename é que não precisa declarar uma função de loop para renomear vários ficheiros, como fez na secção “Renomear Vários Ficheiros com um Loop For”.

Talvez você queira renomear arquivos com palavras específicas neles. Se for o caso, dê uma olhada na expressão regular Perl ('s/file/myfile/') no comando de exemplo abaixo. Expressões regulares Perl definem um padrão de string com base na linguagem de programação Perl.

Para evitar renomear outros arquivos por engano, liste todos os arquivos afetados antes de renomeá-los, adicionando a opção -n, conforme mostrado abaixo.

rename -n 's/file/myfile/' *.txt
Listing Affected Files Before Renaming

Agora execute um dos comandos rename abaixo para substituir a palavra file por myfile no nome de cada arquivo de texto dentro do diretório de trabalho ou no diretório ~/test/*.txt.

Na expressão Perl ('s/file/myfile/'), o s denota substituição, o que significa que você está renomeando arquivos. Observe que a opção -v é adicionada para mostrar quais arquivos o comando renomeou.

# Substituir 'file' por 'myfile' no nome de cada arquivo no diretório de trabalho
rename -v 's/file/myfile/' *.txt
# Substituir 'file' por 'myfile' no nome de cada arquivo no diretório ~/test
rename -v 's/file/myfile/' ~/test/*.txt

Abaixo, você pode ver que cada palavra “file” nos arquivos de texto foi renomeada para “myfile”.

Renaming a Files with the rename Command

Se preferir renomear todos os arquivos, remova a extensão do arquivo ao especificar o caminho do arquivo, por exemplo, rename -v 's/file/myfile/' ~/test/*

Alterando Extensões de Arquivo

Além dos nomes de arquivo, o comando rename também renomeia as extensões de arquivo. Talvez você tenha criado arquivos com a extensão de arquivo errada. Nesse caso, você especificará a extensão de arquivo a ser alterada em uma expressão Perl ao executar o comando rename.

Execute o comando rename abaixo para alterar a extensão de todos os arquivos (*) de .txt para .html no diretório ~/test. O símbolo $ na expressão Perl corresponde ao final de uma string (.txt) de cada nome de arquivo, então o comando apenas altera as extensões de arquivo .txt. E assim como ao renomear vários arquivos, adicione a opção -v para listar cada alteração que o comando faz.

rename -v 's/.txt$/.html/' *.txt

Para remover todas as extensões de arquivo, remova a string de substituição na expressão Perl, assim: rename -v 's/.txt$//' *.txt

Como você vê na imagem abaixo, as extensões .txt foram alteradas para .html

Changing File Extensions from .txt to .html

Alterando Nomes de Arquivo para Maiúsculas e Minúsculas

Em vez de extensões de arquivo incorretas, talvez você esteja lidando com nomes de arquivos em minúsculas e vice-versa. Talvez você esteja tentando encontrar um arquivo especificamente em maiúsculas, sem saber que o nome do arquivo está em minúsculas.

O Linux é sensível a maiúsculas e minúsculas, então vamos garantir que você tenha a caso das letras de cada nome de arquivo correta. O caso das letras é basicamente a distinção de textos entre minúsculas e maiúsculas.

Execute um dos comandos rename abaixo para alterar todos os nomes de arquivo em minúsculas (a-z) no diretório de trabalho (*) para maiúsculas (A-Z) e vice-versa.

# Alterar o nome do arquivo de minúsculas para maiúsculas
rename -v 'y/a-z/A-Z/' *
# Alterar o nome do arquivo de maiúsculas para minúsculas
rename -v 'y/A-Z/a-z/' *

Você pode ver abaixo ambos os resultados da alteração do caso de letras de um nome de arquivo.

Changing File Name from Lowercase to Uppercase and Vice Versa

Substituindo e Removendo Espaços nos Nomes de Arquivos

Assim como o caso das letras de um nome de arquivo, você pode ter problemas para encontrar arquivos se eles tiverem espaços em seus nomes. Vamos resolver isso substituindo os espaços por um caractere ou removendo os espaços completamente.

Execute o comando rename abaixo para substituir os espaços em todos os nomes de arquivo por um sublinhado (_) no diretório de trabalho. Como o sublinhado é um metacaractere, escape-o com uma barra invertida (\\_) para declarar o sublinhado literalmente. Metacaracteres são caracteres especiais com significados especiais em um programa de computador.

Observe o g na expressão Perl, que indica ao comando para substituir todos os casamentos (espaços), e não apenas o primeiro.

rename -v 's/ /\\_/g' *

Abaixo, você pode ver que o comando substituiu todos os espaços por sublinhados.

Replacing spaces with underscores in a file name

Para remover todos os espaços em um nome de arquivo, em vez de preenchê-los com um caractere, execute o comando abaixo.

Na expressão Perl abaixo, o asterisco após o espaço em branco (/ *) corresponde a todas as ocorrências de espaços em um nome de arquivo, e não apenas o primeiro. O caractere de substituição é vazio (//), então o comando rename remove todos os espaços (g).

rename -v "s/ *//g" *

Agora você pode ver abaixo que todos os espaços foram removidos de cada nome de arquivo.

Removing all spaces in filenames

Capitalizando a Primeira Letra de Cada Palavra em um Nome de Arquivo

Se preferir manter os espaços e capitalizar a primeira letra de cada palavra em um nome de arquivo, você precisará de uma expressão Perl mais complexa. Dê uma olhada no comando de exemplo abaixo.

A expressão Perl abaixo corresponde a qualquer caractere único (\\w) em um limite de palavra (\\b), desde que o caractere não seja um ponto nem um apóstrofo (?<![.'\\'']). O comando rename então traduzirá essa letra para maiúscula (u$&).

rename -v 's/(?<![.'\\''])\\b\\w*/\\u$&/g' *

Abaixo, você pode ver que cada palavra nos nomes dos arquivos começa com uma letra maiúscula, mantendo as extensões dos arquivos intactas.

Capitalizing First Letter of Each Word in File Names

Conclusão

Ao longo deste tutorial, você aprendeu muitas maneiras de renomear arquivos no Linux através da interface gráfica e do terminal de linha de comando. Agora, você tem uma compreensão sólida de como manipular nomes de arquivos individualmente e em lotes.

Que tal aprender a escrever scripts de shell no Linux e criar um script para automatizar a renomeação de arquivos?

Source:
https://adamtheautomator.com/rename-files-in-linux/