[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: matriz em shell
From: |
pardinilinux |
Subject: |
Re: matriz em shell |
Date: |
Tue, 28 Aug 2007 17:02:03 -0000 |
User-agent: |
eGroups-EW/0.82 |
Valeu, Tiago!!!
Funcionou perfeitamente. Agora, o resto é babinha!!
Brigadú!!
--- Em address@hidden, "Tiago Barcellos Peczenyj"
<tiago.peczenyj@...> escreveu
>
> tente assim :
>
> fotos=( $(ls *.jpg | sed 's/.jpg//g') )
>
> echo ${fotos[0]} #primeiro elemento
> echo ${fotos[@]} #todos os elementos
> echo ${#files[@]} # numero de elementos
>
> Podes usar as variaveis $1 .. $N ( alias isso pode recair em um for
> muito mais simples )
>
> set - $(ls *.jpg | sed 's/.jpg//g')
>
> for i ; do # sem o "in lista" o for lê dos parametros $1 ... $N
> echo "a foto da vez eh a ${i}.jpg"
> done
>
> []´s Tiago
>
> On 8/28/07, Pedro Pardini pardinilinux@... wrote:
>
> >
> > Oi, pessoal!
> >
> > Eu tenho uma pasta onde são arquivadas as fotos *.jpg do pessoal
> > cadastrado em meu banco de dados.
> > Acontece que eu preciso separá-los por categorias de cargos, em
pastas
> > específicas (categoria1, categoria2, categoria3... ... ...)
> >
> > Cada foto é nomeada assim: "identificador-no-banco-de-dados.jpg"
ou seja
> > 1.jpg, 1723.jpg 59.jpg, 721.jpg ...
> >
> > O início do script está fácil - tanto faz por cut ou sed,
obtenho em uma
> > variável, uma lista de todos os identificadores sem o ".jpg"
mais ou
> > menos assim:
> > fotos=$(ls *.jpg | cut -d. -f1) ou
> > fotos=$(ls *.jpg | sed 's/.jpg//g')
> >
> > Aí minha variável $fotos é uma matriz com um conteúdo
mais ou menos
> > assim:
> > echo $fotos
> >
> > 16 1 21 26 2 30 3 40 46 48 5 63 64 66 67 6 73 79 83 84 99
> >
> > O problema é justamente como tratar cada item isoladamente, para
poder
> > então obter o resultado do banco de dados e mover a foto para a
pasta
> > correspondente.
> >
> > Valeu!!!
> >
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/
>