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 [email protected], Moacir Souza <moacir.so...@...> 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 <fsil...@...>: > > 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 [email protected], 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][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] > >> > > > > > > > > > > ------------------------------------ > > > > --------------------------------------------------------------------- > > 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: [email protected] > > --------------------------------------------------------------------- > > 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 > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >
