[ LUGOS ] find & replace
simon.golicnik na energetika-lj.si
simon.golicnik na energetika-lj.si
Pet Feb 25 07:33:05 CET 2000
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:andrej.komelj na guest.arnes.si]
> Sent: Thursday, February 24, 2000 3:47 PM
> To: lugos-list na lugos.si
> 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.
Dodatne informacije o seznamu Starilist