← Back to team overview

sslug-teknik team mailing list archive

Re: søg-og-erstat i mange filer med python

 

On Fri, Jan 14, 2005 at 12:21:48PM +0100, Kenneth wrote:
> #!/usr/bin/python
> import fileinput, re, sys;
> for lin in fileinput.input(sys.argv[3:], inplace=1):
>         print re.sub( sys.argv[1], sys.argv[2], lin );
> ### end ###
> 
> Det køres som 
> erstat.py find erstat filnavn1 filnavn2 filnavn3 
> 
> Det fungerer fint, men erstatter tilsyneladende hver newline med flere
> newline's, så mine filer ændrer sig fra
> 
> linje1
> linje2
> 
> -til 
> 
> linje1
> 
> 
> linje2
> 
> 
> Er der en hurtig forklaring (og et fix), eller skal jeg i gang med at
> læse om python? :-)

Dette ska nog fungere:
#!/usr/bin/python
import fileinput, re, sys;
for lin in fileinput.input(sys.argv[3:], inplace=1):
        sys.stdout.write( re.sub( sys.argv[1], sys.argv[2], lin ) )

/Niklas.


-- 

Code!


References