Re: search'n replace über mehrere Files

From: Martin Cracauer <cracauer(at)cons.org>
Date: Fri, 20 Jul 2001 09:38:08 -0400

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 message
Received on Fri 20 Jul 2001 - 15:38:15 CEST

search this site