Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Renomeando Múltiplos Arquivos

Colaboração: Otávio Penatti

Data de Publicação: 05 de Março de 2005

Já houve várias vezes em que precisei renomear vários arquivos de uma só vez e nos quais havia um certo padrão em seus nomes. Acredito que isto também já tenho ocorrido com muita gente além de mim.

Os arquivos tinham, por exemplo, o texto "-www.unicamp.br-" no nome e eu queria tirar esse pedaço de texto do nome dos arquivos ou então substituí-lo por algum outro texto.

Com o script abaixo foi possível fazer isso de forma simples:

  #!/bin/bash
  
  criterio=$1
  antigo=$2
  novo=$3
  
  if [ $# -lt 3 ] ; then
         echo "modo de usar: renomeia [criterio] [texto_a_ser_substituido] [texto_substituto]"
         exit 0
  fi
  
  for arq in *$criterio*
  do
         mv "$arq" "$(echo $arq | sed "s/$antigo/$novo/")"
  done

O laço "for" varre os arquivos do diretório atual baseado em um critério. Por exemplo, se quiser renomear os arquivos JPG do diretório, basta usar "jpg" como critério. Ou, se quiser renomear os arquivos que contenham "foto-" no nome, basta usar "foto-" como critério.

O parâmetro "antigo" é o texto que será substituído no nome do arquivo, como, por exemplo, "-www.unicamp.br-".

O parâmetro "novo" é o texto substituto, que será colocado no lugar do texto antigo. Se for vazio, basta usar '' (aspas simples).

Um detalhe importante no script são as aspas no comando:

  mv "$arq" "$(echo $arq | sed "s/$antigo/$novo/")"

Se as aspas não é possível renomear arquivos que contenham espaços no nome.

O script usa o sed para fazer a troca dos nomes e como o sed aceita expressões regulares, fica fácil fazer substituições de texto mais complexas.

Um exemplo de uso do script seria:

  ./renomeia jpg foto- ''

No exemplo, todos os arquivos que tenham jpg (no nome ou extensão) terão o texto "foto-" retirado do nome.

Otávio Penatti

Veja a relação completa dos artigos de Otávio Penatti

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1180 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis