Basicamente

VARIAVEL="uma grande sequencia de palavras"

set - $VARIAVEL

echo $1  informa 'uma'
echo $#  informa 5 - numero de palavras
echo $@ informa a frase toda

$1 .. $9 normalmente é usado para ler os argumentos de um script ou
função shell. quando vc faz set - vc 're-le' estas informações e passa
a usa-las da mesma forma.

cada variavel $x pega uma palavra, uma palavra é definida como uma
porção de caracteres que esteja separado por algum caracter da
variavel de ambiente IFS (no caso, espaço em branco, tab e caracter
nova linha).

( não descobri uma forma de escapar o delimitador ainda dentro da variavel )

Caso vc tenha informações separadas por outros caracteres, como o ;
basta vc redefinir temporariamente a IFS

$ VAR="oi;tudo;bom;como;vai;vc"
$ OLDIFS=$IFS
$ IFS=';'
$ set - $VAR
$ IFS=$OLDIFS
$ echo $1
oi

a IFS é uma variavel importante, não é bom ficar alterando ela sem
voltar ao que era... ;-)

pra fazer o mesmo em awk basta fazer:

$ echo "oi;tudo;bom;como;vai;vc" | awk -F';' '{print $1}'
oi

On 7/24/06, Reinaldo Carvalho <[EMAIL PROTECTED]> wrote:
> Oi tiago,
> podes da um exemplo do que isso faz?
> On 7/24/06, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> wrote:
> > set - $VARIAVEL


---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a