ach, war nur ne Kleinigkeit: man schützt Shellvariablen in sed mit ' ' und nicht anders. So sieht das fertige Script aus:
Code:
#!/bin/bash
if [ ! $# -ge 3 ]
then
echo "Zu wenig Paramameter!"
echo
echo "Anwendung: $0 Suchtext Ersetzung Dateiliste"
echo
echo "Zuerst wird der alte, zu ersetzende Text angegeben,"
echo "dann der Text der diesen überschreiben soll, gefolgt von 1+n Dateien"
exit 1
fi
for FILE in `echo $@ | cut -d " " -f 3-`
do
echo -n "Bearbeite Datei $FILE..."
cat $FILE | sed -e 's/'$1'/'$2'/g' > ${FILE}.tmp && mv ${FILE}.tmp $FILE
echo "fertig!"
done
exit 0
Lesezeichen