Android

Como renomear arquivos e diretórios no linux

Renomeando arquivos no linux

Renomeando arquivos no linux

Índice:

Anonim

Renomear arquivos e diretórios é uma das tarefas mais básicas que você geralmente precisa executar em um sistema Linux.

Renomear um único arquivo é fácil, mas renomear vários arquivos de uma só vez pode ser um desafio, especialmente para usuários iniciantes no Linux. Você pode renomear arquivos usando um gerenciador de arquivos da GUI ou por meio do terminal da linha de comandos.

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 mover) é usado para renomear ou mover arquivos de um local para outro. A sintaxe para o comando mv é a seguinte:

mv source destination

A source pode ser um ou mais arquivos ou diretórios e o destination pode ser um único arquivo ou diretório.

  • Se você especificar vários arquivos como source , o destination deverá ser um diretório. Nesse caso, os arquivos de source são movidos para o diretório de destino. Se você especificar um único arquivo como source e o destination destino for um diretório existente, o arquivo será movido para o diretório especificado. Para renomear um arquivo, é necessário especificar um arquivo único como source e arquivo único como destination destino.

Por exemplo, para renomear o arquivo file1.txt como file2.txt você deve executar:

mv file1.txt file2.txt

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 find ou dentro do bash por ou enquanto loops para renomear vários arquivos.

O exemplo a seguir mostra como usar o loop Bash for para renomear todos os arquivos .html no diretório atual, alterando a extensão .html para .php .

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Vamos analisar o código linha por linha:

  • A primeira linha cria um loop for e percorre uma lista de todos os arquivos com a .html . A segunda linha se aplica a cada item da lista e move o arquivo para 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 final do segmento do loop.

Também podemos usar o comando mv em combinação com o find para obter o mesmo que acima.

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

O comando find está passando todos os arquivos que terminam com .html no diretório atual para o comando mv um por um, usando a opção -exec . A sequência {} é o nome do arquivo que está sendo processado no momento.

Como você pode ver nos exemplos acima, renomear vários arquivos usando o comando mv não é uma tarefa fácil, pois requer um bom conhecimento dos scripts do Bash.

Renomeando arquivos com o comando renomear

O comando rename é usado para renomear vários arquivos. Este comando é mais avançado que o mv , pois requer algum conhecimento básico de expressões regulares.

Existem duas versões do comando rename com sintaxe diferente. Neste tutorial, usaremos a versão perl do comando rename . Se você não possui esta versão instalada no seu sistema, pode instalá-la facilmente usando o gerenciador de pacotes da sua distribuição.

  • Instalar renomear no Ubuntu e Debian

    sudo apt install rename

    Instalar renomear no CentOS e Fedora

    sudo yum install prename

    Instalar renomear no Arch Linux

    yay perl-rename ## or yaourt -S perl-rename

A sintaxe para o comando rename é a seguinte:

rename perlexpr files

O comando rename renomeará todos os files acordo com a expressão regular perlexpr especificada. Você pode sobre expressões regulares do perl aqui.

Por exemplo, o seguinte comando alterará todos os arquivos com a extensão .html para .php :

rename 's/.html/.php/' *.html

Você pode usar o argumento -n para imprimir nomes de arquivos a serem renomeados, sem renomeá-los.

rename -n 's/.html/.php/' *.html

A saída será mais ou menos assim:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Por padrão, o comando renomear não substituirá os arquivos existentes. Passe o argumento -f para permitir que os arquivos existentes sejam substituídos.

rename -f 's/.html/.php/' *.html

Abaixo estão alguns exemplos mais comuns de como usar o comando rename:

  • Substituir espaços nos nomes de arquivos por sublinhados

    rename 'y/ /_/' *

    Converter nomes de arquivos em minúsculas

    rename 'y/AZ/az/' *

    Converter nomes de arquivos em maiúsculas

    rename 'y/az/AZ/' *

Conclusão

Até agora você deve ter um bom entendimento de como usar os comandos mv e rename para renomear arquivos. Obviamente, existem outros comandos para renomear arquivos no Linux, como o mmv . Os novos usuários do Linux que são intimidados pela linha de comando podem usar ferramentas de renomeação em lote da GUI, como o Métamorphose.

renomear terminal mv