Android

Renomear comando no linux (renomear vários arquivos)

Linux básico - Aula 13 - Movendo e renomeando pastas ou arquivos com o comando mv

Linux básico - Aula 13 - Movendo e renomeando pastas ou arquivos com o comando mv

Índice:

Anonim

Renomear vários arquivos e diretórios com o comando mv pode ser um processo tedioso, pois envolve escrever comandos complexos com pipes, loops e assim por diante.

É aqui que o comando rename é útil. Renomeia os arquivos fornecidos, substituindo a expressão de pesquisa em seu nome pela substituição especificada.

Neste tutorial, explicaremos como usar o comando rename para renomear arquivos em lote.

Instalando rename

Existem duas versões do comando rename com sintaxe e recursos diferentes. Nós estaremos usando a versão Perl do comando rename .

Se esta versão não estiver instalada no seu sistema, use o gerenciador de pacotes da sua distribuição Linux para instalá-la:

  • Ubuntu e Debian

    sudo apt update sudo apt install rename

    CentOS e Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

Usando rename

A seguir está a sintaxe geral para o comando rename :

rename perlexpr files

O comando rename é basicamente um script Perl. Renomeará os files fornecidos de acordo com a expressão regular especificada do perlexpr . Você pode ler sobre expressões regulares do Perl aqui.

Por exemplo, o seguinte comando alterará a extensão de todos os arquivos .css para .scss :

rename 's/.css/.scss/' *.css

Vamos explicar o comando em mais detalhes:

  • s/search_pattern/replacement/ - O operador de substituição. .css - O padrão de pesquisa. É o primeiro argumento no operador de substituição. O comando rename procurará esse padrão no nome do arquivo especificado e, se encontrado, o substituirá pelo argumento de substituição. .scss - a substituição. O segundo argumento no operador de substituição. *.css - Todos os arquivos com extensão ".css". Curinga ( * ) é um símbolo usado para representar zero, um ou mais caracteres.

Antes de executar o comando real e renomear os arquivos e diretórios, é sempre uma boa ideia usar a opção -n que executará uma "execução a seco" e mostrará quais arquivos serão renomeados:

rename -n 's/.css/.scss/' *.css

A saída será mais ou menos assim:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

Por padrão, o comando rename não substitui os arquivos existentes. Use a opção -f que indica rename para substituir os arquivos existentes:

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

renomear

rename 's/\.jpe?g$/.jpg/i' *

Conclusão

O comando rename permite renomear vários arquivos de uma vez, usando expressões regulares do Perl.

renomear terminal