[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
>
>
>
>
>
>
>
- Prev by Date:
Re: [shell-script] Lista de Produtos
- Next by Date:
Site repleto de materiais para estudo! (unix, shell, perl, php, java, j++, html, postgre, C++, .NET, poo, etc...)
- Previous by thread:
Re: [shell-script] Lista de Produtos
- Next by thread:
Re: [shell-script] Lista de Produtos
- Index(es):