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

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

Re: [shell-script] shell ou nao shell, eis a questao (era: ih, apaguei)


From: aurelio
Subject: Re: [shell-script] shell ou nao shell, eis a questao (era: ih, apaguei)
Date: Mon, 14 Apr 2003 14:12:18 -0300 (ART)

ae fábio,

> > um usa super-sed, outro usa perl, só tá faltando agora alguém
> > viciado em awk...
> 
> Ahh, todo shellzeiro e sedzeiro dá um tapinha em awk de vez em
> quando, hehehe.

/me se orgulha de NUNCA ter feito um script sequer em awk :)

 
> Uma coisa que eu nunca aprendi direito é a usar arrays no shell.
> Tens algumas dicas sobre isso, Aurélio?

sim! o txt2regex é 100% bash2 e eu fiz em bash só pra explorar
os arrays e as frescurites novas.

veja:

# alpha=(a b c d e f g h i j k l m n o p q r s t u v w x y z)
# echo $alpha
a
# echo ${alpha[0]}
a
# echo ${alpha[1]}
b
# echo ${alpha[*]}
a b c d e f g h i j k l m n o p q r s t u v w x y z
# echo ${#alpha[*]}
26

até aqui tudo bem. nos colchetes vc especifica os índices.
mas note agora as pegadinhas do [*]

# echo ${alpha[*]/n/XXX}
a b c d e f g h i j k l m XXX o p q r s t u v w x y z
# echo ${alpha[*]/n o/XXXYYY}
a b c d e f g h i j k l m n o p q r s t u v w x y z
# echo ${alpha[*]%?}

# echo ${alpha[*]/?/.}
. . . . . . . . . . . . . . . . . . . . . . . . . .

as substituições e expansões são aplicadas para cada item,
então o 'a b c d e f ...' não é uma string, mas sim vários
items contatenados (faz sentido).

na definição de valores, é similar.
note que usar um índice não existente (maior) ele, bota
automaticamente no final, mas a posição foi a que você
definiu mesmo:

# alpha[5]='ZZZ'
# echo ${alpha[*]}
a b c d e ZZZ g h i j k l m n o p q r s t u v w x y z
# alpha[35]='ZZZ'
# echo ${alpha[*]}
a b c d e ZZZ g h i j k l m n o p q r s t u v w x y z ZZZ
# echo ${alpha[25]}
z
# echo ${alpha[26]}

# echo ${alpha[35]}
ZZZ


ih, mas só brincando mesmo pra você ver como funciona, além
do [*] tem o similar [@], que funcionam tipo o $* e $@.

arrays é massa, mas é palha :)



=====
-- 
ATENCAO: o www.verde666.org vai morrer, use www.aurelio.net
ATTENTION: www.verde666.org is no more, use www.aurelio.net

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, 
filtro contra spam. 
http://br.mail.yahoo.com/


reply via email to

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