Adam the Automator

você é novo no sistema operacional Linux? Nesse caso, 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 a como é feito em outros sistemas operacionais.Neste tutorial, você aprenderá muitas maneiras de renomear arquivos únicos e múltiplos no Linux, tanto via GUI quanto executando comandos em um terminal.

vamos começar!

Tabela de Conteúdo

pré-Requisitos

Para seguir dentro deste tutorial, certifique-se de que você tem o seguinte:

  • Este tutorial usa o Ubuntu 18.04 LTS, mas outras distribuições de Linux vai funcionar.
  • uma conta com acesso sudo / administrador.

renomeando arquivos com Gerenciador de arquivos

se você está acostumado a gerenciar arquivos via GUI, vamos começar este tutorial para renomear arquivos com um gerenciador de arquivos. Os gerenciadores de arquivos GUI são legais, pois você pode ver os arquivos à vista. Um desses gerenciadores de arquivos disponíveis no Linux é o antigo Gerenciador de arquivos do GNOME, O Nautilus. Este tutorial demonstra renomear arquivos usando o Gerenciador de arquivos Nautilus.

os outros gerenciadores de arquivos do Linux são Konqueror, Dolphin, Krusader, Thunar, Nemo file manager e Sunflower file manager. Esses gerenciadores de arquivos executam 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 (install 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 sudo / administrador.

sudo apt install nautilus

renomear 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 do mouse no arquivo que deseja renomear e escolha Renomear, conforme mostrado abaixo.

este exemplo se concentra na renomeação de arquivos, mas o processo é o mesmo para renomear arquivos e diretórios.

Renomeando um único arquivo
Renomeando um único arquivo

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

inserindo novo nome de arquivo
inserindo novo nome de arquivo

renomeando vários arquivos usando o Nautilus File Manager

como o Windows, o Ubuntu oferece mais opções sobre como você deseja renomear vários arquivos de uma só 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.

Renomeando Vários Arquivos Usando O Nautilus.
Renomeando Vários Arquivos Usando O Nautilus.

abaixo, Existem duas opções para escolher, dependendo de como você deseja renomear os arquivos selecionados.

  • renomear usando um modelo-Isso permite renomear arquivos em incrementos.
  • localizar e substituir texto-permite encontrar e substituir certos textos em nomes de 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 incrementais a cada arquivo após o nome do arquivo de substituição (Text1, Text2,…).

Renomear Arquivos usando um Modelo
Renomear Ficheiros usando um Modelo

Observe os nomes de arquivo alterado para o Texto, seguido por números crescentes.

Verificação de Nomes de Ficheiro Alterados para "Texto" com o Incremento Num
Verificar Nomes de Arquivo Alterado para “Texto” com o Incremento Num

Localizando e Substituindo Palavras nos Nomes de Arquivo

renomear múltiplos ficheiros com um nome de arquivo específico, selecione o Localizar e substituir texto opção.

insira o texto no campo de texto existente e o texto de substituição no campo Substituir por e clique em Renomear para substituir o texto. Esta opção encontra e substitui certos textos em nomes de arquivos.

Substituir Textos em Nomes de Arquivo
Substituir Textos em Nomes de Arquivo

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

Verificando a palavra "Texto" foi substituído com a palavra "Arquivo" em Cada Arquivo
Verificar a palavra “Texto” foi substituído com a palavra “Arquivo” em Cada Arquivo

Renomear Arquivos com o Comando mv

Se a execução de comandos é uma coisa sua, em vez de navegar em uma interface gráfica, prepare-se para aprender como para renomear arquivos em um terminal. Renomear arquivos no terminal 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 com o nome do arquivo de destino, e é isso.

existem dois cenários na renomeação de um arquivo. O primeiro é renomear um arquivo do Diretório de trabalho e o segundo é especificando o caminho completo. Dê uma olhada na sintaxe de comando mv abaixo para renomear um arquivo, onde o source é o nome original e o destination é o nome de substituição.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/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 seu terminal e execute a série de comandos abaixo para criar um diretório e dois arquivos de texto.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch 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 esse file1.txt e file2.txt existe no diretório ~/test.

a Listagem de Arquivos no Diretório de Trabalho
Listagem de Arquivos no Diretório de Trabalho

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

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/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 inicial.

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

abaixo, você pode ver esse arquivo1.txt agora é renomeado como file10.txt.

confirmando file1.txt é renomeado como file10.txt
confirmando file1.txt é renomeado como file10.txt

Renomeando Vários Arquivos com um Loop For

Se você está muito ocupado com outras tarefas que tem em mãos e deseja renomear todos os arquivos de uma só vez, você precisará usar um loop for instrução de como a abaixo.Copie o código abaixo como está, cole-o no seu terminal e pressione Enter. O código abaixo verifica cada arquivo de texto no diretório de trabalho e renomeia os arquivos com “arquivo” seguido por um número incremental.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

colar o código em seu terminal funciona bem, mas como boa prática, é melhor se você criar um arquivo de script para ser executado.

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

renomeando arquivos com um Loop For
renomeando arquivos com um Loop For

renomear arquivos no Linux com o utilitário renomear

se você estiver Renomeando um único arquivo em sua rotina diária, o comando mv será suficiente. Mas talvez você esteja com o objetivo de renomear vários arquivos com o mesmo padrão de uma só vez? Por exemplo, renomear arquivos que começam com uma determinada palavra (arquivo). Nesse caso, instale o utilitário renomear.

o utilitário renomear renomeia vários arquivos, altera formatos de nome de arquivo e substitui arquivos.

para instalar o utilitário rename, execute qualquer um dos comandos abaixo, dependendo da distro Linux em que você está trabalhando.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

você pode ver abaixo a sintaxe do comando rename.

rename <options> <perlexpr> <files>

renomeando vários arquivos

com a sintaxe de comando rename em mente, agora você pode renomear arquivos que têm o mesmo padrão. O que é ótimo sobre o comando rename é que você não precisa declarar uma função de loop para renomear vários arquivos como fez na seção “renomear vários arquivos com um Loop For”.

talvez você queira renomear arquivos com certas palavras neles. Em caso afirmativo, dê uma olhada na expressão regular Perl ('s/file/myfile/') no comando de amostra abaixo. As expressões regulares Perl definem um padrão de string com base na linguagem de programação Perl.

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

rename -n 's/file/myfile/' *.txt
Listagem de Arquivos Afetados Antes de mudar o nome
Listagem de Arquivos Afetados Antes de mudar o nome

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

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 retornar quais arquivos o comando renomeou.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

abaixo, você pode ver que cada palavra ” Arquivo “nos arquivos de texto é renomeada para” myfile.”

Renomeação de Arquivos com o Comando mudar o nome
mudar o nome de um Arquivos com o rename Comando

Se você preferir para renomear todos os arquivos em vez disso, remova a extensão de arquivo quando você especificar o caminho do arquivo, por exemplo, rename -v 's/file/myfile/' ~/test/*

Alterar as Extensões de Arquivo

Outras que nomes de arquivo, o rename comando também muda as extensões de arquivo. Talvez você tenha criado arquivos com a extensão de arquivo errada. Nesse caso, você especificará a extensão do arquivo para alterar uma expressão Perl ao executar o comando rename.

execute o comando rename abaixo para alterar a extensão all files’ (*) de .txt para .html no diretório ~/test. O símbolo $ na expressão Perl corresponde ao final de uma string (.txt) para cada nome de arquivo, portanto, o comando altera apenas as extensões de arquivo .txt. E como com 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, o.extensões txt alteradas para .html

alterar extensões de arquivo de .txt para .html
alterar extensões de arquivo de .txt para .html

alterando os nomes dos arquivos para maiúsculas e minúsculas

em vez de extensões de arquivo incorretas, você pode estar 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.

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

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

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

você pode ver abaixo os dois resultados da alteração de um caso de letra de nome de arquivo.

Mudança de Nome de Arquivo de Minúsculas para Maiúsculas e Vice-Versa
Alterar Nome do Arquivo de Minúsculas para Maiúsculas e Vice-Versa

Substituição e Remoção de Espaços em Nomes de Arquivo

Como um nome de arquivo da carta do caso, você pode ter problemas para encontrar arquivos se eles têm espaços em seus nomes de arquivo. Vamos consertar isso substituindo espaços por um caractere ou removendo os espaços completamente.

execute o comando rename abaixo para substituir espaços em todos os nomes de arquivos por um sublinhado (_) no diretório de trabalho. Como o sublinhado é um metacaracter, 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 que g na expressão Perl diz ao comando para substituir todas as correspondências (espaços), e não apenas a primeira.

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

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

substituindo espaços por sublinhados em um nome de arquivo
substituindo espaços por sublinhados em um nome de arquivo

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 ao primeiro. O caractere de substituição está vazio (//), portanto, o comando rename remove todos os espaços (g).

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

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

Remover todos os espaços em nomes de arquivos
Remover todos os espaços em nomes de arquivos

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

Se você preferir manter os espaços e colocar em maiúscula a primeira letra de cada palavra em um nome de arquivo em vez disso, você vai precisar de um mais complexo o Perl de expressão. 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 período nem apóstrofo (?<!). O comando rename 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, deixando as extensões de arquivo intocadas.

Capitalizar a Primeira Letra de Cada Palavra em Nomes de Arquivo
Capitalizar a Primeira Letra de Cada Palavra em Nomes de Arquivo

Conclusão

neste tutorial, você aprendeu muitas maneiras para mudar o nome de ficheiros Linux através de GUI e linha de comando do terminal. Agora você tem uma sólida compreensão de como manipular nomes para arquivos únicos e múltiplos de uma só vez.

por que não aprender o script de shell do Linux e criar um script para automatizar a renomeação de arquivos no Linux?

Deixe uma resposta

O seu endereço de email não será publicado.