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

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

Re: [shell-script] alguma sugestão?


From: Humberto Pereira
Subject: Re: [shell-script] alguma sugestão?
Date: Mon, 11 Sep 2006 13:15:54 -0300
User-agent: Opera Mail/9.01 (Linux)

On Mon, 11 Sep 2006 12:42:12 -0300, Jorge Pereira <address@hidden> 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:

[begnini@coke tmp]$ cat a.txt
dph467:testando1
dph467:lalalarerera
dph467:kloiad
wjn028:mhaqj
wjn028:wjaksd
wjn028:tesada
wjn028:223122
[begnini@coke 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
[begnini@coke tmp]$


[]s
Humberto Pereira


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


reply via email to

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