Clemens Hermann wrote on Fri, Jul 20, 2001 at 10:46:39AM +0200:
> Hoi,
>
> ich komm einfach nicht drauf. Ich habe in einem Verzeichnis viele
> Dateien und einige enthalten einen best. String, den ich durch einen anderen
> ersetzen möchte. Wie kriege ich das hin, ohne jedes File einzeln öffnen
> zu müßen?
Nun, im Unix syscall-sinne musst Du schon jedes File oeffnen :-)
# erst mal checken, ob's sauber ist:
find . -name \*.bac && exit 1
# Anfuerhungszeichen um "$file" nicht vergessen
for file in `find . -name whatever*` ; do
perl -p -e 's/foo/bar' < "$file" > "$file.bac"
done
# wenn's geklappt hat:
for file in `find . -name whatever*.bac` ; do
mv "$file" "${file%.bac}"
done
Martin
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@cons.org> http://www.cons.org/cracauer/ As far as I'm concerned, if something is so complicated that you can't ex- plain it in 10 seconds, then it's probably not worth knowing anyway -Calvin To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Fri 20 Jul 2001 - 15:38:15 CEST