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

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

Re: [shell-script] Re: Dificuldade de fazer um scrip de shell


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Re: Dificuldade de fazer um scrip de shell
Date: Thu, 28 Dec 2006 16:53:08 -0200

Ah eu joguei sujo.

o resultado do cut é

04000381

se vc pegar o resto da divisão deste numero por 4000000 tem

04000381% 04000000 = 381

(poderia ser tb subtração, agora estou vendo isso...)

4E6 é uma notação para 4 vezes 10 elevado à 6 potencia ;-)

On 12/28/06, JHOL XD <address@hidden> wrote:
>
>   Tiago nessa expressão
>
> cut -c1-2,16-21 teste | awk '/^04/{total += $1 % 4E6}END{print total}'
>
> não intendi oq vc fez pra somar vc poderia me explica oq é essa
> expressão?
>
> {total += $1 % 4E6}
>
> --- Em address@hidden <shell-script%40yahoogrupos.com.br>,
> "Tiago Barcellos Peczenyj"
> <tiago.peczenyj@...> escreveu
> >
> > AWK sem substring:
> >
> > $ cut -c1-2,16-21 teste | awk '/^04/{total += $1 % 4E6}END{print
> total}'
> > 762
> >
> > Agora, aloprando um pouco:
> >
> > $ grep ^04 teste | cut -c16-21 | xargs -i -n1 seq 1 {} | wc -l
> > 762
> >
> > []´s Tiago
> >
> > On 12/26/06, Camilo Silva <jcamillosilva@...> wrote:
> > >
> > > JHOL ,
> > >
> > > Não sei se ajudaria mas pode-se tentar
> > >
> > > Digamos que seu arquivo teste.txt possuísse o conteúdo :
> > >
> > > 04067174401000100038101511711060824 0000 - linha 1
> > > 04067174402000100038101511711060824 0000 - linha 2
> > > 02067305475002200038211101711060000 0042 - linha 3
> > > 01067305480002200038811101711060000 0042 - linha 4
> > > 01068157444002200262911101711060000 0043 - linha 5
> > > 03067305481000300038911101711060000 0022 - linha 6
> > > 01067305481000300038911101711060000 0022 - linha 7
> > >
> > > cat teste.txt | sed -n '/^04/p' | while read a; do echo
> ${a:16:5}; done |
> > > awk '{ tot = tot + $1} END { print"resultado ==> " tot}'
> > >
> > > resultado ==> 762
> > >
> > > ----- Mensagem original ----
> > > De: JHOL XD <jonatas_net@... <jonatas_net%40yahoo.com.br>>
> > > Para: address@hidden<shell-script%40yahoogrupos.com.br><shell-script%
> 40yahoogrupos.com.br>
>
> > > Enviadas: Terça-feira, 26 de Dezembro de 2006 13:07:20
> > > Assunto: [shell-script] Dificuldade de fazer um scrip de shell
> > >
> > > Ola pessoal meu problema é o seguinte
> > >
> > > estou procurando um combo de comandos em shell script para fazer
> > > em uma linha de +ou- 39 carteres numericos em um arquivo de mais
> de
> > > 20mil linhas
> > >
> > > selecionar os dois primeiros caracteres em um numero especifico
> > > selecionar do 16 caractere ao 21 caractere e essa sequencia de
> > > cararteres seja somada
> > >
> > > um ex
> > >
> > > 0406717440100010003 8101511711060824 0000 - linha 1
> > > 0406717440200010003 8101511711060824 0000 - linha 2
> > > 0206730547500220003 8211101711060000 0042 - linha 3
> > > 0106730548000220003 8811101711060000 0042 - linha 4
> > > 0106815744400220026 2911101711060000 0043 - linha 5
> > > 0306730548100030003 8911101711060000 0022 - linha 6
> > > 0106730548100030003 8911101711060000 0022 - linha 7
> > >
> > > preciso selecionar todas as linhas com começo 04 e somar a
> sequencia
> > > do 16 caractere ao 21 caratere
> > > dessa linha no caso desse ex selecionaria
> > >
> > > 0406717440100010003 8101511711060824 0000 - linha 1
> > > 0406717440200010003 8101511711060824 0000 - linha 2
> > >
> > > dai somaria a sequencia da 16 ao 21 caractere no caso 000381
> > >
> > > 000381
> > > +000381
> > > 000762
> > >
> > > no caso exiba o numero 000762
> > >
> > > eu cheguei até esse comando até
> > >
> > > agora cat arquivo_exemplo | grep -E '^04' | cut -c 16-21
> > >
> > > por favor me ajudem desde já agradeço
> > >
> > > __________________________________________________
> > > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > > http://br.messenger.yahoo.com/
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



reply via email to

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