ali pa v eni vrstici:
find /dir -name "*.html" | xargs perl -pi'.bak' -e "s/niz1/niz2/"
potem pa bris *.bak filetov
LP Simon

> -----Original Message-----
> From: Andrej Komelj [SMTP:[EMAIL PROTECTED]]
> Sent: Thursday, February 24, 2000 3:47 PM
> To:   [EMAIL PROTECTED]
> Subject:      Re: [ LUGOS ] find & replace
> 
> > find /direktorij -name "*html" -exec sed -e "s/niz1/niz2/g" {} \;
> 
> Vse lepo in prav, vendar sed izpise popravljene datoteke na stdout,
> kar pa verjetno ne zadosca. Poleg tega se lahko zgodi, da kje obstaja
> direktorij z imenom nekajhtml in sed na njem "crkne". Zatorej je
> potrebnega se nekaj packanja s tmp fajli.
> 
> Lahko nekaj takega:
> 
> #!/bin/sh
> TMPFILE=${TMPDIR-/tmp}/out.$$
> find /dir -name "*.html" -type f | {
>       while read file; do
>               sed "s/niz1/niz2/g" $file > $TMPFILE
>               mv -f $TMPFILE $file
>       done
> }
> 
> -- 
> Andrej.
> 
> ... Make headlines; use a corduroy pillow.

Одговори путем е-поште