Mudando a extensão de vários arquivos

Publicado por Luiz Eduardo Santos de Carvalho (última atualização em 25/11/2011)

[ Hits: 20.714 ]

Download muda_extensao.sh




Eu estou começando no mundo dos scripts e para praticar resolvi fazer um que mudasse a extensão de vários arquivos de um mesmo diretório.

Fiz de diversas formas, até que cheguei descobri o basename que me deu tudo que eu precisava.

O Código está logo abaixo para quem quiser copiar, sugerir e opinar.

Ainda quero melhorar esse script, principalmente a mensagem que fica aparecendo quando não são encontrados arquivos.
Valeu! ;)

  



Esconder código-fonte

#/bin/bash
#
#
# Script que altera a extensão de vários arquivo de uma vez.
#
#
#
#   Eduardo Carvalho, Novembro de 2011

EXTENSAO_ENTRADA="$1"      # Atual extensão dos arquivos
EXTENSAO_SAIDA="$2"      # Nova extensão que terão os arquivos
NOME=""            # Nome do arquivo, sem extensão
NOVO_NOME=""         # Nome do arquivo após ser renomeado

if [ $# -ne 2 ]; then
   echo "$(basename "$0"): erro de operandos"   
   #TODO Try `basename --help' for more information.
   exit 1
fi

#--- RENOMEIA ---#
for ARQUIVO in *."$EXTENSAO_ENTRADA"
do
   NOVO_NOME=$(basename "$ARQUIVO" "$EXTENSAO_ENTRADA")"$EXTENSAO_SAIDA"
   mv "$ARQUIVO" "$NOVO_NOME" && echo " $ARQUIVO -> $NOVO_NOME"
done

Scripts recomendados

Adicionar sites para serem bloqueados pelo squid

Agenda de Contatos

Informaçoes de rede com shell script

Script que simula uma locadora de DVD

script para trabalhar com disquetes no linux


  

Comentários
[1] Comentário enviado por eldermarco em 25/11/2011 - 10:00h

Existe também uma maneira de fazer isso usando o comando rename. Por exemplo, suponhamos que você quer mudar a extensão de arquivos .png para .jpg porque estão erradas. Então:

$ rename .png .jpg *.png

Muda tudo =]

[2] Comentário enviado por vitinho217 em 07/07/2014 - 10:32h


[1] Comentário enviado por eldermarco em 25/11/2011 - 10:00h:

Existe também uma maneira de fazer isso usando o comando rename. Por exemplo, suponhamos que você quer mudar a extensão de arquivos .png para .jpg porque estão erradas. Então:

$ rename .png .jpg *.png

Muda tudo =]


rename é exelente para essa tarefa !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts