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

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

Re: [shell-script] Lista de Produtos


From: Humberto Pereira
Subject: Re: [shell-script] Lista de Produtos
Date: Fri, 25 Nov 2005 14:12:29 -0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Debian/1.7.12-0ubuntu05.04

Ola,
        para esses casos, awk eh o seu melhor amigo

         awk -F';' ' {
                detalhes[$1]=$1 ";" $2 ";" $3;
                if(lojas[$1])
                        lojas[$1]=lojas[$1] "," $4;
                else
                        lojas[$1]=$4;
        }
        END {
                for ( item in detalhes )
                        print detalhes[item] ";" lojas[item]
        }' a.txt

[begnini 0 coke tmp]$ cat a.txt
1;FARINHA;MAIS DETALHES;1
1;FARINHA;MAIS DETALHES;3
1;FARINHA;MAIS DETALHES;5
1;FARINHA;MAIS DETALHES;2
3;FEIJÃO;MAIS DETALHES;2
3;FEIJÃO;MAIS DETALHES;4
7;ARROZ;MAIS DETALHES;5
7;ARROZ;MAIS DETALHES;3
7;ARROZ;MAIS DETALHES;6
[begnini 0 coke tmp]$


[]s
Humberto Pereira

Enderson Maia wrote:
> Olá, tenho uma lista de produtos que quero ajustar, consegui chegar
> até um ponto, mas não saio daê.
> 
> Tenho uma listagem de produtos com
> 
> COD;DESCRICAO;DETALHES;LOJA
> 
> onde o ultimo campo é a loja ontem tem um saldo do produto no estoque.
> 
> Exemplo:
> 
> -- INICIO
> 1;FARINHA;MAIS DETALHES;1
> 1;FARINHA;MAIS DETALHES;3
> 1;FARINHA;MAIS DETALHES;5
> 1;FARINHA;MAIS DETALHES;2
> 3;FEIJÃO;MAIS DETALHES;2
> 3;FEIJÃO;MAIS DETALHES;4
> 7;ARROZ;MAIS DETALHES;5
> 7;ARROZ;MAIS DETALHES;3
> 7;ARROZ;MAIS DETALHES;6
> -- FIM
> 
> 
> quero transformar o arquivo ACIMA no arquivo ABAIXO:
> 
> -- INICIO
> 1;FARINHA;MAIS DETALHES;1,3,5,2
> 3;FEIJÃO;MAIS DETALHES;2,4
> 7;ARROZ;MAIS DETALHES;5,3,6
> -- FIM
> 
> Ou seja, para não repetir tudo, eu simplesmente transformo o ultimo campos
> nas lojas onde tem o produto, separado por vírgulas.
> 
> Em minhas tentativas, consegui isolar um arquivo somente com os
> produtos sem repetição
> e sem a loja.
> 
> $ cat arquivo | cut -d";" -f 1-3 | uniq
> 1;FARINHA;MAIS DETALHES
> 3;FEIJÃO;MAIS DETALHES
> 7;ARROZ;MAIS DETALHES
> 
> não usei o sort, pois os produtos já estão juntos, e coloquei num
> arquivo produtos
> 
> $ cat arquivo | cut -d";" -f 1,4
> 1;1
> 1;3
> 1;5
> 1;2
> 3;2
> 3;4
> 7;5
> 7;3
> 7;6
> 
> 
> Agora como juntar as duas coisas ? pra gerar o que e quero, que é isso
> (REPETINDO)
> 
> -- INICIO
> 1;FARINHA;MAIS DETALHES;1,3,5,2
> 3;FEIJÃO;MAIS DETALHES;2,4
> 7;ARROZ;MAIS DETALHES;5,3,6
> -- FIM
> 
> Espero estar indo no caminho certo, mas não consegui passar daê.
> 
> Sem mais,
> 
> --
> --
> Enderson Maia
> 
> ICQ: 8817986
> MSN: endersonmaia[arroba]gmail[ponto]com
> Linux User: 286130
> =============================
> 
> 
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 



reply via email to

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