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

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

Re: awk


From: fsilva6
Subject: Re: awk
Date: Fri, 02 Jul 2010 12:55:24 -0000
User-agent: eGroups-EW/0.82

Desculpa moacir, vc tem plena razão. Esqueci de mencionar a data não é passada 
por parâmetro e para piorar é dinâmica.

Em relação ao script vou mesclar as dicas dos colegas.

primeiro vou separar todas as informações referentes a PERA.

exemplo:

limão|laranja|pera|20090127
limão|laranja|pera|20090115
limão|laranja|pera|20090101
limão|laranja|pera|20090130
mamao|pera|pera|20090130
mamao|pera|pera|20090102

para fazer isso posso seguir da dica do amigo Supergrilo.

Depois com o auxilio do sort t";" k1 k2 k3 -u posso eliminar a duplicidade. 
Acho que isso deve resolver o meu problema, vou testar e mando a resposta pra 
vcs.

Agraço a todos pela força vocês são feras.



--- Em address@hidden, Moacir Souza <moacir.souza@...> escreveu
>
>      fsilva6,
> 
>      Pode ser que eu tenha entendido errado, ou que você apenas tenha
> esquecido de dizer, mas qual o parâmetro para dizer quais são as
> menores datas? O usuário informa uma data e você calcula as menores
> que ela? Você pega as duas menores datas (como é o caso do exemplo)?
> Enfim... O sort vai funcionar no AIX sim, mas ainda assim não ficou
> claro como eu vou determinar quem deve ficar separado em um conjunto e
> no outro.
> 
> []'s,
> Moacir Filho
> 
> 2010/7/2 fsilva6 <fsilva6@...>:
> > Amigão,
> >       aplicar o filtro não é o meu maior problema no processo. Meu maior 
> > problema é colocar as informações com a menor data no arquivo de 
> > localizados.
> >
> > Abaixo um exemplo:
> >
> > Arquivo de entrada.
> > limão|laranja|pera|20090127
> > limão|laranja|pera|20090115
> > limão|laranja|pera|20090101
> > limão|laranja|pera|20090130
> > jaca|pera|limão|20090130
> > mamao|pera|pera|20090130
> > mamao|pera|pera|20090102
> > manga|pera|morango|20090130
> >
> > O arquivo de localizados deveria ficar desta forma:    
> > limão|laranja|pera|20090101
> > mamao|pera|pera|20090102
> >
> > Enquanto o arquivo de não localizados receberia os outros registros.
> >
> > limão|laranja|pera|20090127
> > limão|laranja|pera|20090115
> > limão|laranja|pera|20090130
> > jaca|pera|limão|20090130
> > mamao|pera|pera|20090130
> > manga|pera|morango|20090130
> >
> > O grande problema é como pegar a menor data, por isso ordenei o arquivo 
> > antes de iniciar o processamento com o comando sort (sort -t"|" -k3 -k4).
> >
> >
> >
> > --- Em address@hidden, Supergrilo <supergrilo@> escreveu
> >>
> >> Para funcionar em AIX o ideal seria usar ksh puro. Mas como não é minha
> >> especialidade....
> >>
> >> Acho que isso deve funcionar...
> >>
> >> [0][fabio@Bankai:~/shell_scripts]$ cat feira.txt
> >> limão|laranja|pera|20090127
> >> limão|laranja|pera|20090115
> >> limão|laranja|pera|20090101
> >> limão|laranja|pera|20090130
> >> jaca|pera|limão|20090130
> >> mamao|pera|pera|20090130
> >> mamao|pera|pera|20090102
> >> manga|pera|morango|20090130
> >>
> >> [0][fabio@Bankai:~/shell_scripts]$ cat peraouuva.ksh
> >> #!/bin/ksh
> >>
> >> for i in $(cat feira.txt); do
> >>     echo ${i} | cut -d\| -f3 |grep -q pera && echo "${i}" >> localizados
> >> || echo ${i} >> naolocalizado
> >> done
> >>
> >> [0][fabio@Bankai:~/shell_scripts]$ cat localizados
> >> limão|laranja|pera|20090127
> >> limão|laranja|pera|20090115
> >> limão|laranja|pera|20090101
> >> limão|laranja|pera|20090130
> >> mamao|pera|pera|20090130
> >> mamao|pera|pera|20090102
> >>
> >> [0][fabio@Bankai:~/shell_scripts]$ cat naolocalizado
> >> jaca|pera|limão|20090130
> >> manga|pera|morango|20090130
> >>
> >>
> >> Att:
> >> Fábio Santos
> >>
> >> On 07/01/2010 10:26 PM, fsilva6 wrote:
> >> >
> >> >
> >> > Pessoal,
> >> > tenho um arquivo com o seguinte conteúdo.
> >> >
> >> > exemplo:
> >> >
> >> > limão|laranja|pera|20090127
> >> > limão|laranja|pera|20090115
> >> > limão|laranja|pera|20090101
> >> > limão|laranja|pera|20090130
> >> > jaca|pera|limão|20090130
> >> > mamao|pera|pera|20090130
> >> > mamao|pera|pera|20090102
> >> > manga|pera|morango|20090130
> >> >
> >> > Preciso gerar dois arquivos, um chamado localizado e outro de não
> >> > localizado.
> >> >
> >> > a)no arquivo de localizados teremos todos os registros onde o terceiro
> >> > campo for igual a pera e a data se a menor data informada;
> >> >
> >> > b)no arquivo de não localizados teremos todos os registros onde o
> >> > terceiro campo não for igual a pera é a data for diferente da a menor
> >> > data informada, resumindo o else do item a;
> >> >
> >> > Eu comecei ordenando o arquivo da seguinte forma:
> >> >
> >> > sort -t"|" -k3 -k4
> >> >
> >> > Agora eu me vi totalmente sem saida, gostaria de sabe se alguém me dá
> >> > alguma dica para inciar o resto da logica em AWK (o processo vai rodar
> >> > no AIX)?
> >> >
> >> > Desde já obrigado.
> >> >
> >> >
> >>
> >>
> >>
> >> [As partes desta mensagem que não continham texto foram removidas]
> >>
> >
> >
> >
> >
> > ------------------------------------
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> 
> 
> 
> -- 
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> Moacir da Cruz Souza Filho
> 
> -Analista de Sistemas: Suporte Unix Avançado
> Serviço Federal de Processamento de Dados
> 
> -Mestrando em Ciências da Computação
> Universidade de Brasília
> 
> -Bacharel em Engenharia da Computação
> Escola Politécnica de Pernambuco
> Universidade de Pernambuco
> 
> -Técnico em Eletrônica
> Escola Técnica Federal de Pernambuco
> 
> -Linux user #449600
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>




reply via email to

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