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