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

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

Re: [shell-script] Array dinamico???


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Array dinamico???
Date: Fri, 31 Mar 2006 00:40:00 -0300

Cara, eu quando possivel evito usar variaveis em bash.

Acho que existem formas mais interessantes e rápidas.

Por exemplo, se vc tem que gravar o nome de todos os arquivos com
extenção .lis do diretorio /tmp vc pode fazer algo assim

ls /tmp/*.lis > lis.txt

Fiz um exemplo aqui em casa:
$ cat lis.txt
/tmp/aaa.lis
/tmp/bbb.lis
/tmp/ccc.lis

Bom, suponha que chegou um novo arquivo, um eee.lis vc pode fazer um diff

$ diff lis.txt <(ls /tmp/*.lis)
3a4
> /tmp/eee.lis

Ou algo assim
$ grep -v -f lis.txt <(ls /tmp/*.lis)
/tmp/eee.lis

para atualizar a lista basta usar o operador >>

$ grep -v -f lis.txt <(ls /tmp/*.lis) >> lis.txt

Agora se vc insiste mesmo em usar ARRAYS veja o exemplo:

criamos o array
$ ARRAY=( $(ls /tmp/*.lis) )

mostramos todos os elementos
$ echo ${ARRAY[@]}
/tmp/aaa.lis /tmp/bbb.lis /tmp/ccc.lis /tmp/eee.lis

mostramos o numero de elementos
$ echo ${#ARRAY[@]}
4

guardamos o numero na variavel MAX
$ MAX=${#ARRAY[@]}

acrescentamos 1 no valor de MAX
$ let MAX++

informamos um novo elemento no array
$ ARRAY[$MAX]=/tmp/outracoisa.lis

agora apresentamos todos os novos
$ echo ${ARRAY[@]}
/tmp/aaa.lis /tmp/bbb.lis /tmp/ccc.lis /tmp/eee.lis /tmp/outracoisa.lis


Eu acho muito melhor usar arquivos, mas vc pode usar arrays

Comptos

Tiago
On 3/30/06, Rui Dias <address@hidden> wrote:
>  Viva!
>
>  Sou novo no grupo, estou a precisar de ajuda pois precisava de criar
>  um script que me lista-se todos os ficheiros de uma directoria e os
>  pude-se percorrer sempre que necessário!
>
>  Por exemplo: pretendia ler os ficheiros de extensão .lis, da
>  directoria /tmp/ e guardar todos os nomes numa variavel (por exemplo
>  um array) de modo que sempre que cheguem mais ficheiros à directoria
>  não seja necessário alterar o codigo para percorrer os ficheiros.
>
>  Sei que isto é facil, mas não estou a conseguir, se alguem me poder
>  dar uma ajuda agradecia muito.
>
>  Muito Obrigado.
>
>  Rui Dias
>
>
>
>
>
> ---------------------------------------------------------------------
>  Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
>  Sair da lista: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  Servidor Newsgroup da lista: news.gmane.org
>  Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
>  ________________________________
>  Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


--
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


reply via email to

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