O pacote de funções 'funcoeszz' do Aurelio Jargas tem uma função chamada nomefoto que faz isso que foi pedido, e mais um monte de outras funções inusitadas em shell script:
http://funcoeszz.net/ -- Krishna Em 07/11/07, Douglas A. Augusto<[EMAIL PROTECTED]> escreveu: > No dia 06/11/2007 às 23:37, > [EMAIL PROTECTED] escreveu: > > > Quem puder me ajudar, não entendo nada de shell script, eu gostaria de um > > que > > pegasse os meus arquivos de fotos de um pasta assim: > > > > DSCI001.JPG > > DSCI002.JPG > > DSCI005.JPG > > DSCI006.JPG > > (reparem que eu apaguei o DSCI003.JPG) > > > > e deixasse assim: > > > > 001.jpg > > 002.jpg > > 003.jpg > > 004.jpg > > O script abaixo converte uma seqüência de arquivos para a forma 1.ext, > 2.ext, ..., 9.ext. Mas se por exemplo há mais de 10 arquivos, ele faz > 01.ext, 02.ext, ..., 99.ext. E assim por diante. > > Se quiser um número fixo de zeros à esquerda independente do número de > arquivos, modifique a variável CASAS, por exemplo, "CASAS=3" deixará do > jeito que ilustrou o problema, isto é, 001.ext, ..., 999.ext. > > Copie o script em um arquivo, torne-o executável e o chame assim: > > ./script *.JPG > > ######################################################################## > #!/bin/sh > > TOTAL=$# > CASAS=${#ARQUIVOS} > > N=0 > for i in $*; do > > N=$(($N+1)); > mv $i $(printf %0${CASAS}d $N)$(echo $i | sed -n 's/^[^\.]*\(\..*$\)/\1/p'); > > done > ######################################################################## > > -- > Douglas Augusto > > $ 13:58:16 up 22:14, 0 users, load average: 0.22, 0.30, 0.16 > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > >