shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] matriz em shell


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] matriz em shell
Date: Tue, 28 Aug 2007 13:55:25 -0300

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 <address@hidden> 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/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]