[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/
- matriz em shell, Pedro Pardini, 2007/08/28
- Re: [shell-script] matriz em shell,
Tiago Barcellos Peczenyj <=