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