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 [RESOLVIDO]


From: Enderson Maia
Subject: Re: [shell-script] Lista de Produtos [RESOLVIDO]
Date: Fri, 25 Nov 2005 17:52:14 -0300

já resolvi com

sed 's/.$//'

bastou pesquisar na lista. desculpa aê!

Em 25/11/05, Enderson Maia<address@hidden> escreveu:
> Preferi usar a solução do awq, mas tive alguns problemas até descobrir
> que era o formato
> do arquivo.
>
> O arquivo que gero, vem de uma consulta SQL e fica na rede
>
> $ file arquivo.txt
> produtos.txt: ASCII text, with CRLF line terminators
>
> Daí eu fiz um copiar colar com o mouse, dentro do vim, daí o arquivo
> passou a ter
>
> $ file arquivo.txt
> arquivo.txt: ASCII text
>
> Como posso alterar o script awq para suportar isso ?
>
>
>
> Em 25/11/05, Humberto Pereira<address@hidden> escreveu:
> > 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> --
> Enderson Maia
>
> ICQ: 8817986
> MSN: endersonmaia[arroba]gmail[ponto]com
> Linux User: 286130
> =============================
>


--
--
Enderson Maia

ICQ: 8817986
MSN: endersonmaia[arroba]gmail[ponto]com
Linux User: 286130
=============================


reply via email to

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