Isso funciona bem, caso vc queria remover todas as virgulas.

Veja este exemplo:

$ cat sql.txt
CREATE TABLE FW (
     did     DECIMAL(3),
     nome    VARCHAR(40),
     UNIQUE(nome),
);
CREATE TABLE LALA (
    kk     VARCHAR(80),
    ll     BLOB(99),
    ef     INTEGER(5),
    ID     REAL(9),
);

Vamos por partes:
1) tr '\n' '+' < sql.txt
CREATE TABLE FW (+     did     DECIMAL(3),+     nome    VARCHAR(40),+
UNIQUE (nome),+);+CREATE TABLE LALA (+    kk     VARCHAR(80),+    ll
BLOB(99),+ ef     INTEGER(5),+    ID     REAL(9),+);+

2) $ sed 's/),+)\;/)+);/g' <(tr '\n' '+' < sql.txt)
CREATE TABLE FW (+     did     DECIMAL(3),+     nome    VARCHAR(40),+
UNIQUE (nome)+);+CREATE TABLE LALA (+    kk     VARCHAR(80),+    ll
BLOB(99),+    ef     INTEGER(5),+    ID     REAL(9)+);+

3) sed 's/),+)\;/)+);/g' <(tr '\n' '+' < sql.txt) | tr '+' '\n'
CREATE TABLE FW (
     did     DECIMAL(3),
     nome    VARCHAR(40),
     UNIQUE(nome)
);
CREATE TABLE LALA (
    kk     VARCHAR(80),
    ll     BLOB(99),
    ef     INTEGER(5),
    ID     REAL(9)
);

VOILA !
2005/12/17, Mauricio <[EMAIL PROTECTED]>:
>
>  Por que usar SED nesses casos???
> :-)
> Abraćo,
> Ricio
>
>
> [EMAIL PROTECTED]:~/temp$ brinq=`cat brinquedo`; echo -e
> "VELHO:\n\n${brinq}\n\n";echo -e "NOVO:\n\n${brinq//),/)}\n\n";
> VELHO:
>
> CREATE TABLE FW (
>      did     DECIMAL(3),
>      nome    VARCHAR(40),
>      UNIQUE(nome),
> );
>
>
> NOVO:
>
> CREATE TABLE FW (
>      did     DECIMAL(3)
>      nome    VARCHAR(40)
>      UNIQUE(nome)
> );
>
>
>
> Reinaldo Carvalho wrote:
> > Estava pensando sobre como tranformar, isso:
> >
> > CREATE TABLE FW (
> >     did     DECIMAL(3),
> >     nome    VARCHAR(40),
> >     UNIQUE(nome),
> > );
> >
> > Nisso:
> >
> > CREATE TABLE FW (
> >     did     DECIMAL(3),
> >     nome    VARCHAR(40),
> >     UNIQUE(nome)
> > );
> >
> > Que é justamente o que nosso amigo queria em uma mensagem anterior...
> > Gostaria de saber porque o sed abaixo nao funcionou?
> >
> > sed -e 's/,\n)/\n)/g'
> >
> > Ou seja.. trocar , \n ) por \n ) ...
> >
> >
> >
> >
> > --
> > Reinaldo Carvalho
> > Debian Sarge 3.1 - Linux User: #238310
> > Prodepa - [EMAIL PROTECTED]
> >
> >
> > ---------------------------------------------------------------------
> > 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
> > ---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>  ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> <http://br.rd.yahoo.com/SIG=12fbb3gj6/M=386470.7632849.8508174.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1134866692/A=3135788/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com>
> ------------------------------
> *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]<[EMAIL PROTECTED]>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


[As partes desta mensagem que não continham texto foram removidas]



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