|
|||||||||||||||||||||||||||
On Mon, 29 Apr 2002, Peter Makholm wrote:
> Jacob Sparre Andersen <sslug@sslug> writes:
>
> > Jeg har brug for at erstatte en linie der svarer til et
> > bestemt regulært udtryk ('^[ ]*[\]bibliography[{].+[}][
> > ]*$', hvis der er nogen der er nysgerrige) med en hel fil
> > ('artikel.bbl' i dette tilfælde). Hvordan gør man det?
>
> Øv, twoliner:
>
> $ perl -p 'BEGIN { open FH, 'artikel.bbl'; $file = join "\n", <FH> }
> $_ = $file if /^[ ]*[\]bibliography[{].+[}][ ]*$/ '
Der kommer for mange \n.
$ perl -p -e 'BEGIN { $file=`cat artikel.bbl` }
s:^[ ]*[\]bibliography[{].+[}][ ]*$:$file:g'
Eller:
$ perl -pe '$f=`cat artikel.bbl`;s:^[ ]*[\]bibliography[{].+[}][ ]*$:$f:g'
Men så forsvandt effektiviteten.
Hvis det skal gøres i samme fil, så er -i.bak en god option at kunne.
/Ole
--
Linux user #194. Get counted: http://counter.li.org
http://ole.tange.dk
|
||||||||||||||
|
||||||||||||||