introdução

o Linux oferece várias opções para renomear arquivos, incluindo o uso da GUI e vários comandos de terminal dedicados. Isso torna relativamente fácil renomear arquivos individuais, mas pode ser um desafio renomear vários arquivos de uma só vez.

neste tutorial, examinaremos diferentes comandos que você pode usar no terminal Linux para renomear arquivos no Linux.

Como mudar o nome de ficheiros em Linux

pré-Requisitos

  • Um sistema executando uma distribuição Linux
  • Uma conta com privilégios sudo
  • Acesso à janela de terminal/linha de comando
  • Acesso a um editor de texto, como o Vim ou Nano

Renomear Arquivos com o Comando mv

Linux mv (mover) comando é usado para mover arquivos e diretórios a partir do terminal. Ele usa a seguinte sintaxe:

mv 

se você especificar um diretório como destino ao usar o comando mv, o arquivo de origem será movido para esse diretório. Se o destino for outro nome de arquivo, o comando mv renomeia o arquivo de origem para esse nome.

Nota: Saiba mais sobre como usar o comando mv em nosso guia para mover diretórios no Linux.

renomeie um único arquivo com o comando mv

usando o comando mv com sua sintaxe padrão, você pode renomear um único arquivo:

mv 

por exemplo, se quisermos renomear example1.txt em example2.txt, devemos utilizar:

mv example1.txt example2.txt

uma vez que não há saída se o comando for bem-sucedido, nós estamos usando o ls comando para verificar se o nome é alterado:

ls -l
mudar o nome de um único arquivo usando o comando mv

Renomear Vários Arquivos com o Comando mv

Em seu próprio, o mv comando renomeia um único arquivo. No entanto, combiná-lo com outros comandos permite renomear vários arquivos ao mesmo tempo.

um método é usar o comando find para selecionar vários arquivos com um nome semelhante e, em seguida, usar o comando mv para renomeá – los:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

usando essa sintaxe, o comando find define um elemento do nome do arquivo atual como o parâmetro de pesquisa. Em seguida, -exec executa o comando mv em qualquer arquivo que corresponda à pesquisa, alterando seus nomes de arquivos atuais para o novo.

por exemplo, se tivermos exemplo1.txt, example2.txt, e example3.txt e deseja alterar a extensão para .documento:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
renomeando vários arquivos usando os comandos find E mv

outro método é usar o comando mv como parte de um loop <strong>for</strong> em um script bash.

usando o mesmo exemplo, comece criando e abrindo um arquivo de script bash usando um editor de texto como o Nano:

sudo nano rename_files.sh

Nota: Saiba mais sobre como usar scripts bash para gerenciar arquivos e diretórios no Linux.

adicione as seguintes linhas ao script:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

no script acima:

  • a primeira linha instrui o script a pesquisar todos os arquivos no diretório atual que terminam com .txt.
  • a segunda linha usa o comando mv em cada arquivo encontrado para substituir o.extensão txt com .documento.
  • a terceira linha termina o segmento de loop.

pressione Ctrl + X, digite Y e pressione Enter para salvar as alterações no script e sair.

Use o comando sh para executar o script:

sh rename_files.sh
renomeando vários arquivos usando um script bash

Renomear arquivo com o comando renomear

o comando rename é usado para renomear vários arquivos ou diretórios no Linux. Ele oferece mais recursos do que o comando mv, mas pode ser mais desafiador de usar, pois requer conhecimento básico das expressões Perl.

como instalar o comando rename

em muitas distribuições Linux, o comando rename não está disponível por padrão. Se o seu sistema estiver faltando o comando rename, instale-o com:

  • Para o Ubuntu e o Debian, use sudo apt install rename
  • Para CentOS e Fedora, use sudo yum install prename
  • Arch Linux, use sudo pacman -S mudar o nome

renomear a Sintaxe de Comando e Opções

Existem três tipos de expressões regulares do Perl: correspondência, substituto e traduzir. O comando rename usa expressões substitutas e de tradução para alterar nomes de arquivos e diretórios.

expressões substitutas substituem uma parte do nome do arquivo por uma string diferente. Eles usam a seguinte sintaxe:

rename 's///' 

com esta sintaxe, o comando renomeia o arquivo substituindo a primeira ocorrência do elemento nome do arquivo pela substituição. No comando acima:

  • rename: invoca o comando renomear.
  • : fornece um argumento opcional que altera a forma como o comando é executado.
  • s: indica uma expressão substituta.
  • : especifica a parte do nome do arquivo que você deseja substituir.
  • : especifica uma substituição para a parte do nome do arquivo atual.
  • : define o arquivo que você deseja renomear.

uma expressão translate traduz uma sequência de caracteres em outra, caractere para caractere. Este tipo de expressão usa a seguinte sintaxe:

rename 'y///' 

um exemplo de um rename comando usando uma expressão traduzir:

rename 'y/abc/xyz/'

neste exemplo, cada um caractere no nome do arquivo é substituído por um x, cada b por y, e cada c por um z.

mudar O nome do comando usa as seguintes opções:

  • -a: Substitui todas as ocorrências do nome do arquivo do elemento, em vez de apenas o primeiro.
  • -f: Força uma substituição de arquivos existentes.
  • -h: exibe o texto de Ajuda.
  • -i: exibe um prompt Antes de sobrescrever arquivos existentes.
  • -l: Substitui a última ocorrência do elemento filename em vez do primeiro.
  • -n: executa uma corrida seca, não fazendo alterações permanentes. Melhor combinado com a saída detalhada (-v).
  • -s: renomeia o destino em vez do link simbólico.
  • -v: mostra uma versão detalhada da saída.
  • -V: exibe a versão do comando.

renomear exemplos de comando

1. Alterar a extensão do arquivo

retornando ao nosso último exemplo, para alterar a extensão do arquivo .txt para .pdf, use:

rename -v 's/.txt/.pdf/' *.txt
usando o comando renomear para substituir a extensão do arquivo

2. Substituir uma parte de um nome de arquivo

substituir uma parte diferente do nome de arquivo segue a mesma sintaxe. Para renomear example1.txt, example2.txt, e example3.TXT para test1.txt, test2.txt e text3.txt, use:

rename -v 's/example/test/' *.txt
renomear vários arquivos usando o comando renomear

3. Excluir uma parte de um nome de arquivo

a opção rename também permite excluir uma parte do nome do arquivo omitindo a parte de substituição da expressão. Por exemplo, se quisermos encurtar o exemplo em ex:

rename -v 's/ample//' *.txt
removendo uma parte do nome do arquivo usando o comando rename

4. Renomeie arquivos com nomes semelhantes

outro uso para a opção rename é renomear arquivos com nomes semelhantes. Por exemplo, se quisermos renomear arquivos com exemplo e amostra em seu nome para testar:

rename -v 's/(ex|s)ample/test/' *.txt
renomear vários arquivos com nomes semelhantes usando o comando rename

5. Renomear arquivos caractere por caractere

o comando rename também permite que você use traduzir expressões para renomear arquivos em uma base caractere por caractere. Por exemplo, se você deseja renomear vários arquivos chamados arquivo de exemplo, substituindo o espaço em branco por um sublinhado (_):

rename -v 'y/ /\_/' *.txt
removendo espaços em branco de nomes de arquivos usando o comando rename

6. Converter caracteres minúsculos

para converter caracteres minúsculos em nomes de arquivos em caracteres maiúsculos, use:

rename -v 'y/a-z/A-Z/' *.txt
convertendo nomes de arquivos de minúsculas para maiúsculas usando o comando rename

7. Converter caracteres maiúsculos

o reverso também funciona se mudarmos a ordem dos caracteres maiúsculos e minúsculos na expressão:

rename -v 'y/A-Z/a-z/' *.TXT
convertendo nomes de arquivos de maiúsculas para minúsculas usando o comando rename

Nota: Tenha cuidado ao alterar o caso do caractere, pois isso também altera a extensão do arquivo.

conclusão

depois de ler este tutorial, você deve ser capaz de renomear arquivos usando os comandos mv e rename no Linux.

Saiba mais sobre como usar comandos do Linux em nossa folha de dicas de comandos do Linux.

Deixe uma resposta

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