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
- renomeando arquivos com Gerenciador de arquivos
- renomear um único arquivo
- renomeando vários arquivos usando o Nautilus File Manager
- renomear arquivos usando um modelo
- Localizando e Substituindo Palavras nos Nomes de Arquivo
- Renomear Arquivos com o Comando mv
- Renomeando um único arquivo com o comando mv
- Renomeando Vários Arquivos com um Loop For
- renomear arquivos no Linux com o utilitário renomear
- renomeando vários arquivos
- Alterar as Extensões de Arquivo
- alterando os nomes dos arquivos para maiúsculas e minúsculas
- Substituição e Remoção de Espaços em Nomes de Arquivo
- Capitalizar a Primeira Letra de Cada Palavra em um Nome de Arquivo
- Conclusão
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.
Agora digite o novo nome do arquivo para substituir o nome do arquivo original, pressione Enter ou clique em Renomear, e é isso.
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.
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,…).
Observe os nomes de arquivo alterado para o Texto, seguido por números crescentes.
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.
Agora, você pode ver abaixo que você substituiu a palavra “Texto” com o “Arquivo” em cada nome de 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.
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.
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.
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
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.”
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
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.
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.
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.
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.
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?