On Mon, 11 Sep 2006 12:42:12 -0300, Jorge Pereira <[EMAIL PROTECTED]>  
wrote:
> Prezados,
>
> Alguem tem alguma sugestão para utilizar uma regex para organizar um  
> trecho
> de um buffer que está na seguinte forma.
>
> dph467:testando1
> dph467:lalalarerera
> dph467:kloiad
> wjn028:mhaqj
> wjn028:wjaksd
> wjn028:tesada
> wjn028:223122
>
> ficar da seguinte forma.
>
> dph467:testando1, lalalarerera, kloiad
> wjn028:mhaqj, wjaksd, tesada, 223122

Usando awk fica facil
        awk -F: ' BEGIN {
                previous = "";
                tmp = ""
        }
        tmp == "" {
                tmp = $0;
                previous = $1;
                next;
        }
        previous != $1 {
                print tmp;
                tmp = $0;
                previous = $1;
                next
        }
        {
                tmp = tmp ", " $2
        }
        END {
                print tmp
        } ' saida.txt


No seu exemplo:

[EMAIL PROTECTED] tmp]$ cat a.txt
dph467:testando1
dph467:lalalarerera
dph467:kloiad
wjn028:mhaqj
wjn028:wjaksd
wjn028:tesada
wjn028:223122
[EMAIL PROTECTED] tmp]$ awk -F: ' BEGIN { previous = ""; tmp = "" } tmp == ""  
{ tmp = $0; previous = $1; next; } previous != $1 { print tmp; tmp = $0;  
previous = $1; next } { tmp = tmp ", " $2 } END { print tmp } ' a.txt
dph467:testando1, lalalarerera, kloiad
wjn028:mhaqj, wjaksd, tesada, 223122
[EMAIL PROTECTED] tmp]$


[]s
Humberto Pereira


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


---------------------------------------------------------------------
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

<*> 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:
    [EMAIL PROTECTED]

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

 



Responder a