[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] LOOP FOR
From: |
ilusoes06 |
Subject: |
Re: RES: [shell-script] LOOP FOR |
Date: |
Thu, 21 Oct 2004 20:18:29 -0000 |
User-agent: |
eGroups-EW/0.82 |
Valeu o curso intensivo!
vejamos se eu entendi?
sed '/^ /!d; #Pegue tudo pra mim que comecar com espaco em branco e
nao apague.
s/.* // #Selecione o que pegou e mostre o a segunda coluna (e
se eu quiser uma terceira ou se o separador fosse uma ",")
paste -s -d'+' | bc #Na sequencia blz cole e calcule.
Obrigado!
> Fala Wilson,
> a melhor forma de fazer o pretendido que me ocorreu foi a seguinte:
>
> Prompt> sed '/^ /!d;s/.* //' z | paste -s -d'+' | bc
> 26
>
> Entendeu? Nem eu... :) Então vamos no passo-a-passo:
>
> Prompt> cat z
> ABC 10
> JOAO 1
> JOSE 3
> JEFERSON 7
> ANA 5
> EFG 10
> JOAQUIM 2
> MARIA 3
> HLDDD 7
> CAROL 5
> Prompt> sed '/^ /!d' z
> JOAO 1
> JOSE 3
> JEFERSON 7
> ANA 5
> JOAQUIM 2
> MARIA 3
> CAROL 5
> Prompt> sed '/^ /!d;s/.* //' z
> 1
> 3
> 7
> 5
> 2
> 3
> 5
> Prompt> sed '/^ /!d;s/.* //' z | paste -s -d'+'
> 1+3+7+5+2+3+5
> Prompt> sed '/^ /!d;s/.* //' z | paste -s -d'+' | bc
> 26
>
> E agora, entendeu? Caso contrário dá um grito daí, falou?
>
> Outro modo sem incomodar o bc:
>
> Prompt> echo $(($(sed '/^ /!d;s/.* //' z | paste -s -d'+')))
> 26
>
> Como vc viu, todas as soluções sairam diretas do prompt. Dúvido vc fazer
> isso em outra linguagem! Mas se alguém quiser se manifestar sobre
isso, por
> favor não o faça na nossa lista, use o pvt.
>
> [ ]s,
> Julio Cezar Neves
> - Programa de Software Livre -
> Tel:+55 21 2528-7070 / +55 21 8112-9988
> Fax: +55 21 2528-7646
> mailto:julio.neves@p...
>
>
> | -----Mensagem original-----
> | De: Wilson Campos [mailto:ilusoes06@y...]
> | Enviada em: quinta-feira, 21 de outubro de 2004 08:44
> | Para: address@hidden
> | Assunto: [shell-script] LOOP FOR
> |
> |
> |
> | Hi peoples!
> | tenho um problema aparentemente simples em maos:
> | Preciso gerar uma lista que some alguns dados, segue
> | lista.
> |
> |
> | ABC 10
> | JOAO 1
> | JOSE 3
> | JEFERSON 7
> | ANA 5
> | EFG 10
> | JOAQUIM 2
> | MARIA 3
> | HLDDD 7
> | CAROL 5
> |
> | Resumindo, preciso pegar os item edentados e somar ao
> | item inicial, pensei em gerar uma lista com os item
> | que iniciam-se no catacter 1 da lista e rodar um loop
> | for, a teoria eu sei mas como fica na pratica?
> |
> | Grato!
> |
> |
> |
> |
> |
> |
> | _______________________________________________________
> | Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o
> | discador agora! http://br.acesso.yahoo.com/
> |
> |
> | ---------------------------------------------------------------------
> | 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
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos