On Fri Jan 08 1999, Andre Vaupel wrote:
In der Sendmail.cf die Einträge für virtuelle Domains hinzufügen oder löschen. Der Eintrag sollte an der selben Stelle sein, also nicht am Ende der Datei oder irgendwo...normalerweise ist sed ja das richtige Tool, kennt sich jemand damit aus?
Ebenso sollte der "Serial" Wert bei dem Nameserver dadurch geändert werden, der muss einfach wieder an der selben Stelle im Text stehen.
Das ist ein Test Der Baum ist gross Hier steht der Serial Wert 1999010801
Untenstehendes bitte als eine Zeile sehen: perl -pe '$new=123456; s/^(Hier steht der Serial Wert\s*)\d+(\s*.*)/$1$new$2/;' -i.bak <datei>
Sendmail.cf # diverser Text und Parameter # diverser Text und Parameter # diverser Text und Parameter diverser Text und Parameter # cwmail.xyz1.com cwmail.xyz2.com cwmail.xy3.com # # diverser Text und Parameter diverser Text und Parameter diverser Text und Parameter diverser Text und Parameter # Ende der Datei
Nun möchte ich zb. cwmail.abc.com hinzufügen, unterhalb des letzten cw Eintrags. Hat einer eine Idee ?
Datei solange lesen, bis die Sektion mit den "cwmail" Eintraegen kommt, weiterlesen bis der naechste Eintrag nicht damit beginnt, und davo die noetigen Zeilen einfuegen, hier ein Beispiel aus dem Kopf, hardcoded (igitt!): ---------------------------------------------> open(IN, "< $sendmail.conf") || die; while (<IN>) { push(@newcf, $_); if (/^cwmail/) { while (<IN>) { if (! /^cwmail) { push(@newcf, "cwmail.xyz4.com\n"); } push(@newcf, $_); } } } close IN; open(OUT, "> $sendmail.conf") || die; print @newcf; close OUT; <----------------------------------------------- Passe es entsprechend an. -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux