On Sun, May 31, 2009 at 11:12:29AM -0300, Jorge Pereira wrote: > Hello! > > Vamos lá novamente! talvez eu que não tenha sido tão claro! o problema não e > tão simples assim.... :) > -------- > Bem, > > Eu tenho em um determinado texto tal trecho abaixo. > > [jpere...@jaspion ~]$ cat /tmp/a > INSTALL ( a b > c > d > ) > > ADD_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > > HEHE_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > [jpere...@jaspion ~]$ > e preciso que fique > > #ADD_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > )# > > tentei algo como > > [jpere...@jaspion ~]$ cat /tmp/a > INSTALL ( a b > c > d > ) > > ADD_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > > HEHE_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > [jpere...@shinobi dir]$ cat /tmp/a | sed '/^ADD_LIBRARY/,/)/{ > s/\(.*\)/#\1#/g}' > INSTALL ( a b > c > d > ) > > #ADD_LIBRARY(mylib SHARED# > # A.cpp# > # B.cpp# > # C.cpp# > # )# > > HEHE_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > [jpere...@jaspion ~]$ > > tem que levar em consideração que pode existir enters ou não entre ADD e ), > ou seja! > > [jpere...@jaspion ~]$ cat /tmp/a > INSTALL ( a b > c > d > ) > > *ADD_LIBRARY(mylib SHARED A.cpp B.cpp C.cpp)* > > HEHE_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > [jpere...@jaspion ~]$ > > como pode ser > > [jpere...@jaspion ~]$ cat /tmp/a > INSTALL ( a b > c > d > ) > * > ADD_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > )* > > HEHE_LIBRARY(mylib SHARED > A.cpp > B.cpp > C.cpp > ) > [jpere...@jaspion ~]$ > > tenho que adicionar algo no inicio e fim.... Alguém tem alguma sugestão!? > > thanks! > -- > Regards, > +--------------------------------------------+ > Jorge Pereira, > http://blog.jorgepereira.com.br/ > +--------------------------------------------+
creio que o uso de um laço seja mais adequado para fazer as alterações que deseja, exemplo: sed '/^ADD_LIBRARY/{s/^/#/;:loop;n;s/)\s*$/&#/;t;bloop}' arquivo -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------