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

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

Re: [shell-script] explode() em shell?!?!


From: Jorge Pereira
Subject: Re: [shell-script] explode() em shell?!?!
Date: Fri, 21 Jul 2006 18:10:57 -0300

precisa falar? a propria função ta bem explicita.
sendo mais direto, eu preciso algo como.

#!/bin/bash
# Script 1
source lib.script.sh
_explode  "nome"  ":"  /etc/passwd

echo ${nome[3]}
exit 0
#

e no caso a função _explode deve ser algo como.
#!/bin/bash
 function _explode(){
     local n=0
    _arrayName="${1}"
    _token="${2}"
    _arg="${3}"

     [ -f "${_arg}" ] && _buffer="$(cat ${_arg})" || _buffer="${_arg}"

     echo "${_buffer}" | tr "${_token}" " " | for _strtmp in $(cat
/dev/stdin);
     do {
         eval "${_arrayName}[${n}]="${_strtmp}""
         let n=n+1
     } done
  }

# sacou?
queria que o script que invocou pode-se recuperar o valor de eval na função,
tipo
tornando os valores do array "globais".

[]s


On 7/21/06, Fabricio Lopes de Souza <address@hidden> wrote:
>
> vc podia falar oq q uma função explode faz :D
>
>
> On 7/18/06, Jorge Pereira <address@hidden> wrote:
> >
> > Pessoal,
> >
> > Estou precisando fazer algumas funções padrões em shell, e a unica que
> > esta
> > me dando dor de cabeça e a
> > logica da função explode, so que está implementação precisa receber como
> > parametro o nomer do array desejado.
> > segue o codigo.
> >
> > ---------------
> > # @func:   _explode()
> > # @Return: Array
> > # @Args:   argv[1]="token", argv[2]="arrayname", argv[3]="String"
> > # @Desc:   Make array of token in string (argv[3])
> > # @Author: Jorge Pereira
> > function _explode(){
> >     local n=0
> >     _arrayName="${1}"
> >     _token="${2}"
> >     _buffer="${3}"
> >
> >     for _strtmp in $(echo "${_buffer}" | tr "${_token}" " ")
> >     do {
> >         eval "${_arrayName}[${n}]="${_strtmp}""
> >         let n=n+1
> >     } done
> > }
> > ---------------
> >
> > Pra no caso utilizar ela no scripts, exemplo.
> >
> > ---------------
> > #!/bin/bash
> > .......
> > .......
> > mystr=":I:ride:bmx:"
> > _explode "bmx" ":" ${mystr}
> > echo ${bmx[2]}
> > echo ${bmx[4]}
> > ........
> > exit 0
> > ---------------
> >
> >
> > Alguem teria alguma sugestão?!?!
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>



-- 
Regards,
+
---------------------------------------------------------------------------------+
Jorge Pereira, From: Olinda/Pe/Brazil
Home:  http://www.jorgepereira.com.br/
E-mail:  address@hidden, address@hidden
Mobile: +55 (81) 8833-2484
My Public Key: http://www.jorgepereira.com.br/public.pgp
+
---------------------------------------------------------------------------------+
    "Se você ama alguma coisa, liberte-a;
   Se ela não voltar a ti, cace-a e mate-a."
+----------------------------------------------------------------------------------+


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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