Bom dia

Já testou assim ?


=-- Arquivo: dados --=
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


data='20090115'
nawk -F\| -v dt=${data} '{ if ($3 ="pera" && $4 < dt) { print $0 >
localizados } else { print $0 > naolocalizados }' < dados

Obs. a data deverá ser deste formato YYYYMMDD

Abraços

Renato


Em 2 de julho de 2010 06:57, fsilva6 <fsil...@yahoo.com.br> escreveu:

>
>
> 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 shell-script@yahoogrupos.com.br <shell-script%40yahoogrupos.com.br>,
> Supergrilo <supergr...@...> escreveu
>
> >
> > Para funcionar em AIX o ideal seria usar ksh puro. Mas como não é minha
> > especialidade....
> >
> > Acho que isso deve funcionar...
> >
> > [0][fa...@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][fa...@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][fa...@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][fa...@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]
> >
>
>  
>


[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: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
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:
    shell-script-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a