Re: shell script que ordena os arquivos de fotos
No dia 06/11/2007 às 23:37,
etch@bol.com.br 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
Reply to: