[ LUGOS ] find & replace
Andrej Komelj
andrej.komelj na guest.arnes.si
Čet Feb 24 14:19:36 CET 2000
> 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