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

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

Re: sequencia de numeros


From: lferreir1
Subject: Re: sequencia de numeros
Date: Tue, 17 Jan 2006 18:52:25 -0000
User-agent: eGroups-EW/0.82

Humberto, boa tarde;
Grato pela sua dica. Foi a que mais serviu para o meu script.
Fiz algumas alterações pois trabalho com Solaris, em ksh.
Só alterei a condição [..] por if mesmo, e o resultado foi o esperado.

Abraços,
Luiz

--- Em address@hidden, Humberto Pereira 
<humberto.pereira@p...> escreveu
>
> Boa tarde,
> 
>       suponhemos q na variavel SAIDA voce tenha o seu resultado.
> Voce pode fazer algo do tipo
> 
> # quebra de linha eh o nosso separador agora
> IFS=$'\n'
> 
> #sempre comeca com 00
> next="00"
> 
> # para cada linha da saida, faca...
> while line in $SAIDA; do
>         # pega o tipo
>       type=`echo $line | awk ' { print $2 } '`
> 
>       # o proximo do anterior eh diferente do atual?
>       [ "$type" != "$next" ] && echo "Error: $line"
> 
>         case "$type" in
>                 # se o tipo for 00, o proximo eh 01, certo?
>               "00") next="01"
>               ;;
>               # se o tipo for 01, o proximo eh 99.
>               "01") next="99"
>               ;;
>               # ultimo, o proximo soh pode ser um 00
>               "99") next="00"
>               ;;
>               # tipo nao cadastrado
>               *) echo "Error: $line"
>               ;;
>       esac
> done
> 
> 
> Acredito q isso resolva.
> 
> []s
> Humberto Pereira
> 
> 
> lferreir1 wrote:
> > Boa tarde galera!
> > 
> > Seguinte, tenho um arquivo de saída com o seguinte resultado do 
> > comando #cat -n arquivo | cut -c1-9 | uniq -f1
> >      1  00
> >      2  01
> >    260  99
> >    261  00
> >    262  01
> >    268  99
> >    269  00
> >    270  01
> >    273  99
> >    274  00
> >    275  01
> >    294  99
> >   ........
> > 
> > Onde a primeira coluna significa o número da linha do arquivo e a 
> > segunda coluna são os dados do tipo 00=header 01=detalhes 
99=trailler
> > Preciso checar neste arquivo se não está faltando algum registro 
> > nesta sequência, como exemplo um 99 antes do 01. No exemplo acima 
> > está tudo OK.
> > 
> > Grato pela ajuda.
> > Luiz
> > 
> > 
> > 
> > 
> > 
> > ------------------------------------------------------------------
---
> > 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
> > ------------------------------------------------------------------
---
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> > 
> >  
> > Links do Yahoo! Grupos
> > 
> > 
> > 
> > 
> >  
> > 
> >
>






reply via email to

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