Hallo, On Thu, 19 Sep 2002, Sebastian Huber wrote:
Hallo, ich habe folgendes Problem: irgendein-config-file: # section begin bla bla # section end
Ich will nun '^# section begin$.*^#section end$' durch was anderes ersetzen. Kann man z.B. sed beibringen, dass es ueber mehrere Zeilen ersetzt?
Ja natuerlich, dazu dienen die Adressoperatoren von sed: sed '/^# section begin/,/^# section end/c\ fo bla' < alt > neu (zwei(!) Zeilen, mit durch '\' maskierten Zeilenumbruch) Zu 'c' siehe man sed, das steht fuer 'change', der gesamte Adressbereich wird geaendert. Die Adressoperatoren kann man auch fuer fast alle anderen sed-Befehle verwenden, bei manchen Kombinationen macht das allerdings wenig Sinn, z.B: sed -n '1,$p' < datei Man kann auf Adressbereichen durch Blockbildung auch mehrere Befehle ausfuehren, z.B: sed '/^# section begin/,/^# section end/{s/bla/fasel/g;s/blubb/laber/;} -dnh -- Make sure that they know you know that they know you know. -- Mike Andrews on getting license keys by mail (from a certain Corp.)