Renomear arquivos é uma das tarefas mais básicas que você geralmente precisa realizar em um sistema Linux. Você pode renomear arquivos usando um gerenciador de arquivos GUI ou através do terminal de linha de comando.
Renomear um único arquivo é fácil, mas renomear vários arquivos de uma vez pode ser um desafio, especialmente para usuários que são novos no Linux .
Neste tutorial, mostraremos como usar os comandos mv
e rename
para renomear arquivos e diretórios.
Renomeando arquivos com o comando mv #
O comando mv
(abreviado de movimento) é usado para renomear ou mover arquivos de um local para outro. A sintaxe do comando mv
é a seguinte:
O source
pode ser um ou mais arquivos ou diretórios e destination
pode ser um único arquivo ou diretório.
- Se você especificar vários arquivos como
source
, odestination
deve ser um diretório. Nesse caso, ossource
arquivos são movidos para o diretório de destino. - Se você especificar um único arquivo como
source
, e o destinodestination
é um diretório existente, então o arquivo é movido para o diretório especificado. - Para renomear um arquivo, você precisa especificar um único arquivo como
source
e um único arquivo comodestination
destino.
Por exemplo, para renomeie o arquivo file1.txt
como file2.txt
que você executaria:
Renomeando vários arquivos com o comando mv #
O comando mv
pode renomear apenas um arquivo por vez, mas pode ser usado em conjunto com outros comandos, como como find
ou dentro de bash for
ou while
loops para renomear vários arquivos.
O exemplo a seguir mostra como usar o loop Bash for para renomear todos os .html
arquivos no diretório atual alterando a extensão .html
para .php
.
Vamos analisar o código linha por linha:
- A primeira linha cria um
for
faz um loop e itera através de uma lista de todos os arquivos contornados com.html
. - A segunda linha se aplica a cada item da lista e move o arquivo para um um novo substituindo
.html
por.php
. A parte${file%.html}
está usando a expansão do parâmetro shell para remover a parte.html
do nome do arquivo. -
done
indica o fim do segmento de loop.
Aqui está um exemplo usando mv
em combinação com find
para conseguir o mesmo que acima:
O está passando todos os arquivos que terminam com .html
no diretório atual para mv
um por um usando o -exec
opção. A string {}
é o nome do arquivo que está sendo processado.
Como você pode ver nos exemplos acima, renomear vários arquivos usando mv
comando não é uma tarefa fácil, pois requer um bom conhecimento de script Bash.
Renomeando arquivos com o comando renomear #
O é usado para renomear vários arquivos. Este comando é mais avançado do que mv
, pois requer algum conhecimento básico de expressões regulares.
Existem duas versões do rename
comando com sintaxe diferente. Neste tutorial, usaremos a versão Perl do comando rename
. Se você não tiver esta versão instalada em seu sistema, poderá instalá-la facilmente usando o gerenciador de pacotes de sua distribuição.
-
Instale
rename
no Ubuntu e Debian -
Instale
rename
no CentOS e Fedora -
Instale
rename
no Arch Linux
A sintaxe do comando rename
é a seguinte:
O comando rename
renomeará o files
de acordo com o perlexpr
expressão regular. Você pode ler mais sobre expressões regulares perl aqui.
O exemplo a seguir mudará todos os arquivos com a extensão .html
para .php
:
Você pode usar a opção -n
para imprimir os nomes dos arquivos a serem renomeados, sem renomeá-los.
A saída terá a seguinte aparência:
Por padrão, o comando rename
não sobrescreve os arquivos existentes. Passe a opção -f
para permitir que os arquivos existentes sejam sobrescritos:
Abaixo estão alguns mais comuns exemplos de como usar o comando rename
:
Conclusão #
Mostramos como usar o mv
e rename
comandos para renomear arquivos.
Existem também outros comandos para renomear arquivos no Linux, como mmv
. Novos usuários Linux que se sentem intimidados pela linha de comando podem usar ferramentas de renomeação em lote da GUI, como o Métamorphose.