jednoduchy scriptik
Martin Macok
macok na kocour.ms.mff.cuni.cz
Pátek Říjen 29 10:47:41 CEST 1999
On Fri, 29 Oct 1999, Jozef C. Chocholacek wrote:
> "Ondřej Surý" wrote:
> > > > > find $PWD -print | while read f ; do
> > > > > if [ -f "$f" ] ; then
> > > > > sed 's/srnec/myslivec/g' <"$f" >/tmp/tmp.$$
> > > > > mv /tmp/tmp.$$ "$f"
> > > > > fi
> > > > > done
> > #!/bin/bash
> > zamen() { sed 's/srnec/myslivec/g' < $1 > /tmp/tmp.$$; mv /tmp/tmp.$$ $1; }
> > find $PWD -type f -exec zamen {} \;
>
> A este to pouzit ako root :) A modlit sa, aby nikto neurobil zopar
> linkov v /tmp na /etc/passwd :)))
>
> Ale to len tak na okraj :)
Ale jo ;-)), ten clovek chtel JEDNODUCHY SKRIPTIK! ;-)
Pro paranoiky predkladam tuto verzi:
#!/bin/bash
# program vezme vsechny regularni soubory v aktualnim a rekurzivne
# vnorenych adresarich ... verze 0.2 ;-)
# pouziti: script cesta co_nahradit cim_nahradit
PATH=/bin:/usr/bin:/sbin:
WDIR=/tmp/mojetmp.$$
NUM=0
if [ "$#" != "3" ] ; then
echo "pouziti: $0 cesta co_nahradit cim_nahradit"
exit
fi
umask 077
while test -e "${WDIR}${NUM}" ; do
NUM="$((NUM+1))"
done
if ! mkdir "${WDIR}${NUM}" ; then
exit
fi
find "$1" -print | while read f ; do
if [ -f "$f" ] ; then
FTMP="${WDIR}${NUM}/tmp.$$"
sed "s/$2/$3/g" <"$f" >"$FTMP"
echo "pracuji na $f ..."
mv "$FTMP" "$f"
fi
done
rmdir "${WDIR}${NUM}"
# KONEC
Doufam, ze je oukej ...
--
< Martin Mačok (e) martin.macok na underground.cz <ISO-8859-2-compatible>
\ (h) http://kocour.ms.mff.cuni.cz/~macok/ (w) http://underground.cz/ /
\\\\\ any OS that doesn't make me look /////
\\\ like a random mouse-clicking idiot is a Good Thing (c) ///
Další informace o konferenci Linux