Já pedindo desculpas...

Resolvi fora do awk, e vc tinha pedido pra resolver dentro.

Ok.
Como no awk os indices podem ser literais ( e na verdade sao), ele não dá
erro...

mas no seu script, vc pode realizar uma operação sobre o parãmetro passado pra
ele deixar de ser um literal. É meio que uma "gamb", mas funciona. Acabei de
testar.

Fica assim:

 ================
echo 2 | awk '
 function nome_do_mes(MM){
 mes="Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez"
 split(mes,nummes," ")
 return nummes[MM]
 }
 {
 nmes=$1+0
 print nome_do_mes(nmes)
 }'
 ================

Testa ae.

Falow.

Em Terça 28 Novembro 2006 16:21, você escreveu:
- Hide quoted text -
> Opa.
>
> TUdo ok?
>
> Cara... eh o seguinte..
>
> eh soh fazer o shell reconhecer que vc está utilizando um numero ao inves
> de uma string.
>
> para isso eh soh colocar o numero assim:
>
> $(( <numero> ))
>
> ok?
>
> ficaria assim:
> ================
>  echo $((02)) | awk '
>   function nome_do_mes(MM){
>          mes="Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez"
>          split(mes,nummes," ")
>          return nummes[MM]
>          }
>  {
>   nmes=$1
>   print nome_do_mes(nmes)
>  }'
> ================
>
> Agora vc pode colocar quantos 0's quiser, já que está trabalhando com
> números, e não com caracteres.
>
> Tenta ae!
>
> Falow.
>
Em Terça 28 Novembro 2006 13:51, Ricardo Acosta escreveu:
> Camaradas.
> aqui estou novamente com duvidas na utilizacao do AWK.
>
> caso entendam que está fora do escopo da lista. fiquem a vontade para
> advertir! Como tenho duvida a respeito, vou arriscar!rs!
>
> criei uma funcao no AWK.vejam:
> ...
> [EMAIL PROTECTED]: shell$ cat funcao.sh
> #!/bin/bash
> echo 2 | awk '
>  function nome_do_mes(MM){
>         mes="Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez"
>         split(mes,nummes," ")
>         return nummes[MM]
>         }
> {
>  nmes=$1
>  print nome_do_mes(nmes)
> }'
> ...
>
> ao executar tenho:
> ...
> [EMAIL PROTECTED]: shell$ ./funcao.sh
> Fev
> ...
>
> otimo. funciona perfeitamente, só que alterando para
> "echo 02"  ...em vez do...  "echo 2"
>
> o resultado é nulo/vazio:
> ...
> [EMAIL PROTECTED]: shell$ ./funcao.sh
>
> ...
>
> alguém tem alguma dica...sobre como corrigir isso!?
> ah! lembrando que a correção seja feita dentro do AWK.... pensei em
> algo, ou alguma opcao q ele  tenha de lidar com formatos.
> pesquisei. e nao encontrei!
>
> []s
> acosta

-- 


----------------------------------------------------------------
Darlon Vasata
User Linux #430663
My machines registered: Supersonic #335810
----------------------------------------------------------------
Let's Code!
----------------------------------------------------------------


---------------------------------------------------------------------
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