N�o resolvi exatamente com express�es regulares, mas funciona eu testei.

#!/bin/ksh
# Troca o penultimo caracter do nome do arquivo pelo numero 0
# Esse script so e valido para arquivo com 3 caracteres de extensao
# Autor : Erico
# Data : 02/04/2002
#
clear
for arquivo in *
do
  if [ -f $arquivo ] && [ $arquivo != ${0#./} ] ; then
     tamseg=${#arquivo}
     popri=`expr $tamseg - 6`
     poseg=`expr $popri + 2`
     primeiro=`echo $arquivo |cut -c1-$popri`0
     segundo=`echo $arquivo |cut -c$poseg-`
     narquiv=$primeiro$segundo
     mv $arquivo $narquiv
  fi
done

----- Original Message -----
From: "Fabio Berbert de Paula" <[EMAIL PROTECTED]>
To: "Juliano Souza" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, April 02, 2002 3:43 PM
Subject: Re: (linux-br) Express�o Regular no Shell - (algu�m sabe?)


> Juliano,
>
>
> > como fa�o por exemplo para renomear diversos arquivos em
> > um diret�rio tipo:
> > de
> >
> > JJJJKJ.GIF
> > IIIIKI.GIF
> > para:
> > JJJJ0J.GIF
> > IIII0I.GIF
> >
> > Entenderam?  o penultimo nome do arquivo deve ser trocado pelo n�mero 0,
> > s�o mais de dois mil arquivos, como fazer isso usando Exp. Regular??
>
> Experimente este pequeno programinha em PERL:
>
> --- INICIO AQUI
> #!/usr/bin/perl
>
> my $diretorio = "/home/fpaula/fotos";  # vou ler os arquivos desde
diret�rio
>                                        # mude este diret�rio para o seu
<<<<
> opendir(D,$diretorio);
> my @arquivos = grep /\.gif$/i, readdir(D); # leia apenas os arquivos
>                                            # com extens�o .gif
> closedir(D);
>
> chdir $diretorio;
> foreach my $arquivo (sort @arquivos) {
>   if ( ! -f $arquivo ) { next; } # se n�o for arquivo, pule para o pr�ximo
>   my $novo_arquivo = $arquivo;
>   $novo_arquivo =~ s/.(?=.\.gif$)/0/i; # aqui vai a express�o regular
>   print "Novo arquivo �: $novo_arquivo\n";
>   #system("mv $arquivo $novo_arquivo");
>   # descomente a linha acima para mover os arquivos � vera !
> }
> --- FIM AQUI
>
>
>
> Atenciosamente,
> --
> F�bio Berbert de Paula | [EMAIL PROTECTED]
> Programador e entusiasta Linux | ICQ: 6399331
>
> Frase da vez:
> Quem dera eu ser um byte, para em seu l�mpido c�digo-fonte mergulhar,
> fazer loucuras com goto, exec e include, saciar essa tortura ... um byte !
>
>
>
>


Assinantes em 03/04/2002: 2234
Mensagens recebidas desde 07/01/1999: 160879
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a