15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios

30.10.2024

Como renomear ficheiros com mv

Renomear ficheiros em Linux é uma tarefa comum, mas a abordagem à renomeação pode variar dependendo das suas necessidades e das ferramentas que pretende utilizar. Este artigo irá discutir vários métodos para renomear ficheiros em Linux, desde a simples renomeação de ficheiros com comandos como mv até à renomeação em lote mais complexa com utilitários como rename e find

1. Renomear ficheiros com mv

O comando mais básico e mais utilizado para renomear ficheiros em Linux é o comando mv (move). O comando mv é usado principalmente para mover ficheiros e diretórios, mas também serve como uma ferramenta de renomeação

Sintaxe básica

A sintaxe para renomear um ficheiro é simples

mv old_filename new_filename

Exemplo

Para renomear um ficheiro chamado file1.txt para file2.txt, execute

mv file1.txt file2.txt

Este comando renomeia o ficheiro1.txt para o ficheiro2.txt no mesmo diretório

Renomear vários ficheiros

Se precisar de renomear vários ficheiros um de cada vez, pode fazê-lo com alguns comandos mv, mas isto pode tornar-se aborrecido. Para renomear em lote, é melhor usar ferramentas mais avançadas como o rename

2. Renomear ficheiros com rename

O comando rename é um utilitário poderoso para renomear vários ficheiros de uma só vez. Permite-lhe utilizar expressões regulares baseadas em Perl para renomear ficheiros em lote, o que pode poupar muito tempo em tarefas de renomeação complexas

Instalar o rename

Em algumas distribuições Linux, poderá ser necessário instalar a ferramenta rename. Pode instalá-la usando o seu gestor de pacotes

  • Debian/Ubuntu
    the rename service is installed at: sudo apt install rename
  • CentOS/RHEL
    sudo yum install prename

Sintaxe básica

A sintaxe do comando rename é

rename 's/old_pattern/new_pattern/' files

Exemplo

Suponha que tem um conjunto de ficheiros como file1.txt, file2.txt e file3.txt e quer mudar todos os ficheiros .txt para .md. Você pode usar

rename 's/.txt$/.md/' *.html
#

Este comando utiliza uma expressão regular para substituir o .txt no final de cada nome de ficheiro por .md

Renomeação de ficheiros em lote

Também pode efetuar uma renomeação em lote mais complexa, como prefixar ou sufixar nomes de ficheiros

  • Para adicionar um prefixo (por exemplo, “novo_”) a todos os ficheiros .txt
    rename 's/^/new_/' *.html
    #
  • Para adicionar um sufixo (por exemplo, “_backup”) antes da extensão do ficheiro
    rename 's/^.txt$/_backup.html/' *.html

3. Renomear ficheiros usando find e mv

Outra forma de renomear ficheiros, especialmente quando se lida com ficheiros em múltiplos diretórios, é combinar o comando find com mv. Esta abordagem dá-lhe mais flexibilidade na renomeação de ficheiros com base em critérios específicos

Exemplo

Digamos que quer encontrar todos os ficheiros com uma extensão .log no diretório atual e renomeá-los para .txt

find . -name "*.log" -exec bash -c 'mv "$1" "${1%.log}.txt"' -- {} ;
  • find .-name“*.log”: Encontra todos os ficheiros com extensão .log no diretório atual.
  • exec bash -c ‘mv “$1” “${1%.log}.txt”‘ — {} ;: Executa o comando mv para renomear os ficheiros, removendo a extensão .log e adicionando .txt.

Este método é poderoso quando é necessário efetuar a renomeação numa árvore de diretórios grande

4. Renomeando arquivos com a GUI

Se preferir utilizar uma interface gráfica para renomear ficheiros, a maioria dos ambientes Linux fornece gestores de ficheiros que permitem uma renomeação simples. Os gestores de ficheiros comuns incluem

  • Nautilus (para GNOME)
  • Dolphin (para o KDE)
  • Thunar (para XFCE)

Renomear passos no gestor de ficheiros

  1. Abra o seu gestor de ficheiros.
  2. Navegue até ao ficheiro que pretende mudar o nome.
  3. Clique com o botão direito do rato no ficheiro e selecione Renomear.
  4. Digite o novo nome e prima Enter.

Isto é útil para os utilizadores que preferem o método de apontar e clicar na gestão de ficheiros

5. Renomear ficheiros utilizando um script Bash

Para utilizadores mais avançados, é possível criar um script Bash personalizado para automatizar as tarefas de renomeação de ficheiros. Isto é especialmente útil para tarefas de renomeação repetitivas ou padrões de ficheiros específicos

Exemplo de um script Bash

1. Criar um ficheiro de script de shell

Irá guardar o script num ficheiro para o poder executar mais tarde. Para criar o ficheiro, utilize um editor de texto como o nano

nano rename_script.sh#

2. Adicione o seu script ao ficheiro

#!/bin/bash
for file in *.txt; do
new_name="${file%.txt}.md"
mv "$file" "$new_name"
done

3. Tornar o script executável

Agora precisa de tornar o script executável para que o possa executar. Utilize o seguinte comando para dar permissões de execução ao script

chmod x rename_script.sh
4. Executar o script

Agora você pode executar o script no terminal. Ele renomeará todos os arquivos .txt no diretório atual para .md

./rename_script.sh
#

5. Verificar alterações

Depois de executar o script, pode verificar a renomeação dos ficheiros fazendo uma lista do conteúdo do diretório

ls

Conclusão

A renomeação de ficheiros em Linux pode ser feita de várias formas, dependendo da tarefa. Para operações simples, o comando mv é normalmente usado para renomear ficheiros individuais, enquanto que a renomeação em lote pode ser tratada com ferramentas como rename ou combinando find com mv para uma seleção e flexibilidade mais avançadas. Os scripts Bash são úteis para tarefas de renomeação repetitivas ou em grande escala, e os gestores de ficheiros gráficos fornecem funcionalidades de renomeação em massa incorporadas para os utilizadores que preferem uma interface visual. A escolha do método apropriado permite-lhe gerir os nomes dos ficheiros de forma eficiente e segura num sistema Linux.

15%

Alexhost concede-lhe desejos

Responder ao inquérito e ganhar prémios