Comandos Linux – Comando rename

Comando de renomeação do Linux

comando renomear

Em sistemas operacionais do tipo Unix, o comando rename renomeia vários arquivos, usando expressões regulares . Foi escrito por Larry Wall , criador da linguagem de programação Perl .

Descrição

renomear renomeia os arquivos nomeados de acordo com a expressão regular perlexpr .

Se um determinado arquivo não for modificado pela expressão, ele não será renomeado. Se nenhum nome de arquivo for fornecido na linha de comando , os nomes dos arquivos serão lidos via entrada padrão .

Sintaxe

renomear [-v] [-n] [-f] perlexpr [ arquivos ]

Opções

-v , –verbose Detalhado: imprime os nomes dos arquivos renomeados com sucesso.
-n , –no-act Nenhuma ação: mostre quais arquivos teriam sido renomeados.
-f , –force Forçar: sobrescrever arquivos existentes.

Expressões Perl: uma visão geral rápida

O argumento perlexpr é uma expressão regular usada pela linguagem de programação Perl. As expressões regulares do Perl são um assunto complexo e diferenciado, mas aqui está uma breve visão geral:

Substituição

Para substituir uma expressão por outra, a forma de perlexpr é:

s / expr1 / expr2 / [gi]

… em que expr1 é uma expressão que descreve a sequência que você deseja substituir e expr2 é uma expressão que descreve a sequência que você deseja substituir. Por exemplo,

s / bobo / tolo /

… substituiria a primeira ocorrência da string ‘ bobo ‘ pela string ‘ tolo ‘.

Para executar a substituição global (ou seja, substituir expr2 por expr1 quantas vezes ocorre expr1 ), adicione o modificador g no final da expressão de substituição. Por exemplo:

s / bobo / tolo / g

… substituiria toda ocorrência de ‘ bobo ‘ por ‘ tolo ‘, não importa quantas vezes isso ocorra.

Para executar a correspondência de uma maneira que não diferencia maiúsculas de minúsculas, adicione um i no final da expressão de substituição. Por exemplo,

s / bobo / tolo / i

… substituiria ‘ SILLY ‘, ‘ Silly ‘ ou ‘ siLLY ‘ por ‘ tolo ‘.

Os modificadores g e i podem ser especificados na mesma expressão, para executar a substituição global que não diferencia maiúsculas de minúsculas, por exemplo:

s / bobo / tolo / soldado

Metacaracteres

Um metacaractere é um caractere (ou caracteres) que possui um significado especial. Eles podem ser usados ​​em uma expressão para definir com precisão quais seqüências de caracteres devem ser correspondidas e substituídas.

Estes são alguns metacaracteres comuns que podem ser usados ​​em uma expressão Perl:

metacaracteres significado
^ Corresponde ao início de uma sequência.
$ Corresponde ao final de uma sequência.
. Corresponde a qualquer caractere, exceto uma nova linha .
* Corresponde às ocorrências do caractere anterior, ou grupo de caracteres, zero ou mais vezes.
+ Corresponde às ocorrências do caractere anterior, ou grupo de caracteres, uma ou mais vezes.
? Corresponde às ocorrências do caractere anterior, ou grupo de caracteres, zero ou uma vez.

Se usado após um modificador de repetição, ‘ ‘especifica que a menor correspondência possível deve ser usada. Por exemplo, ‘ a {2,4}? ‘corresponderá a’ aa ‘mesmo que’ aaa ‘e’ aaaa ‘também correspondam. Veja modificadores de repetição, abaixo.

| Alternação; comporta-se como um ‘ OU ‘ booleano . Por exemplo, ‘ manteiga | geléia ‘ combinará com manteiga ou geléia .
( … ) Agrupamento. Por exemplo, ‘ (por exemplo | le) gs ‘ corresponderá a ‘ ovos ‘ ou ‘ pernas ‘.
[ … ] Um conjunto de caracteres. Por exemplo, ‘ [abc] ‘ corresponderá a ‘ a ‘ ou ‘ b ‘ ou ‘ c ‘. Os conjuntos de caracteres podem ser definidos como:

caracteres ] Corresponde a qualquer um dos caracteres listados.
– ] Corresponde a qualquer em um intervalo de caracteres entre x e y , inclusive. Por exemplo, ‘ [ce] ‘ corresponderá a c , d ou e e ‘ [az] ‘ corresponderá a qualquer letra minúscula.
[^ caracteres ] Não corresponde a caracteres ; em outras palavras, corresponde a qualquer caractere, exceto os listados. Também pode negar um intervalo de caracteres; por exemplo, ‘ [^ ad] ‘ corresponde a qualquer caractere, exceto a , b , c ou d .
[\ -] Corresponde ao caractere hífen (”  “).
– – ] Vários intervalos de caracteres podem ser colocados em um conjunto de caracteres consecutivamente. Por exemplo, ‘ [a-zA-Z] ‘ corresponde a qualquer letra, maiúscula ou minúscula.
m [ , [ n ]] } Um modificador de repetição, que corresponde, pelo menos, m e no máximo n dos caracteres precedentes. Por exemplo, ‘ a {2} ‘ corresponderá a ‘ aa ‘, ‘ a {2,4} ‘ corresponderá a ‘ aa ‘, ‘ aaa ‘ ou ‘ aaaa ‘ e ‘ b {2,} ‘ corresponderá a dois ou mais caracteres b consecutivos .
\ Escapa um metacaractere para que seja tratado literalmente. Por exemplo, ‘ \ + ‘ corresponde a um literal ‘ + ‘ (em vez de o símbolo de mais ter seu significado especial de metacaractere).
\ t Corresponde a um caractere de tabulação.
\ n Corresponde a um caractere de nova linha.
\ r Corresponde a um caractere de retorno de carro .
\W Corresponde a qualquer caractere único classificado como caractere “palavra” ( caractere alfanumérico ou sublinhado ‘ _ ‘).
\W Corresponde a qualquer caractere que não seja “palavra”.
\ s Corresponde a qualquer caractere de espaço em branco único (espaço, guia, nova linha).
\ S Corresponde a qualquer caractere que não seja um espaço em branco.
\ d Corresponde a qualquer caractere de dígito. Essa opção é equivalente ao conjunto de caracteres ‘ [0-9] ‘
\ D Corresponde a qualquer caractere que não seja um dígito.
\ b Uma asserção de “largura zero” que corresponde a qualquer “limite de palavras”.
\ B Uma asserção de “largura zero” correspondente a qualquer limite que não seja “palavra”.

Tradução

A tradução é semelhante à substituição. Ele pode ser usado para converter uma string para outra, caractere por caractere. As expressões de tradução são especificadas da seguinte maneira:

y / charset1 / charset2 /

… onde cada caractere no conjunto charset1 , em ordem, está a ser traduzido para o personagem correspondente do conjunto de caracteres charset2 . (Esses conjuntos são exatamente como os conjuntos de caracteres acima, exceto que você não precisa colocá-los entre colchetes.) Por exemplo, a expressão de tradução:

y / abc / def /

… traduziria cada letra a para a letra d , todo b para um e , etc.

Isso também funciona para os conjuntos de caracteres definidos como intervalos. Por exemplo:

y / az / AZ /

Traduzia todas as letras minúsculas em seu equivalente maiúsculo.

Exemplos

renomeie / \ .jpeg $ /. jpg / '*

Renomeie todos os arquivos com a extensão ” .jpeg ” para que tenham a extensão ” .jpg “.

encontre -type f -name '* .jpg' | renomear 's / feriado / lua de mel /'

Para todos os arquivos com a extensão ” .jpg “, se eles contiverem a sequência ” feriado “, substitua-a por ” lua de mel “. Por exemplo, este comando renomeia o arquivo ” ourholiday001.jpg ” para ” ourhoneymoon001.jpg “.

Este exemplo também ilustra como usar o comando find para enviar uma lista de arquivos ( -tipo f ) com a extensão .jpg ( -name ‘* .jpg’ ) para renomear por meio de um canal ( | ). renomear então lê sua lista de arquivos a partir da entrada padrão.

renomear 's / \. bak $ //' * .bak

Renomeie todos os arquivos correspondentes a ” * .bak ” para remover o nome do arquivo de sua extensão. Por exemplo, este comando renomeia o arquivo ” project.bak ” para ” project “.

renomeie 'y / AZ / az /' *

Renomeie os arquivos para que todas as letras maiúsculas sejam alteradas para seus equivalentes em minúsculas.

mv – Mova arquivos e diretórios de um local para outro e, opcionalmente, renomeie-os.
perl – Intérprete para a linguagem de programação Perl.

Categorias
Compartilhe esse post

Posts populares

Linux Force Security Cursos de linux e segurança da informação

Seu futuro na tecnologia começa agora! Não deixe essa chance escapar.