Am Montag, 18. August 2008 17:37:14 schrieb Lentes, Bernd:
Hallo,
ich muss auf diversen Linuxsystemen Dateien nach einem best. Muster durchsuchen und dieses Muster gegen ein neues austauschen. Hintergrund: unsere DNS-domain wird mittelfristig geändert, und wir haben an vielen Stellen (Skripte, Webseiten ...) noch die alte stehen. Wie würdet Ihr das machen ? Ich bin mit sed und awk noch nicht auf Du und Du. Wenn ich sed richtig verstanden habe, schreibt sed nach stdout, und ich kann es nicht auf die zu bearbeitende Datei umleiten, da diese dann leer wäre.
Geht das mit awk ?
nein. man kann (ohne Klimmzüge) mit awk/sed/perl nicht die aktuell gelesene Datei bearbeiten. Aber wo ist das Problem TF=/tmp/xx.$$ # (oder mktemp - create a temporary file or directory) sed < DATEI -f sed-skript > $TF mv $TF DATEI ich benutze die Tools so: - sed Einzeiler quick&dirty, Einfache Suche/Tausche Operationen aufDateien - awk kleinere Patterns, kleinere Berechnungen - perl grosse komplexere Aufagebn, komplexe (gschachtelte) Patterns
ich muss auf diversen Linuxsystemen Dateien nach einem best. Muster durchsuchen und dieses Muster gegen ein neues austauschen. Hintergrund:
- mit grep schauen wieviele Stellen betroffen sind - Schauen wie komplex die Aufgabe sein wird - sed/awk/perl nach obigen Kriterien aussuchen. Meist wird sed zusammen mit einem Shell-Wrapper benutzt, der über die Verzeihnisse traversiert usw. Bye Jürgen Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer