[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mit Sed 2 oder mehr zusammenhängende Zeilen ersetzen möglich ?



Am 06/01/2013 02:46 PM, schrieb Frank Küster:

>> christian@R500 ~ % sed  '/\[trigger\]/,/^$/s/\(enabled=\)true/\1false/g' /tmp/foobar > /tmp/foobar.out
> 
> Kannst Du diese Syntax erklären?  Was macht speziell das Komma? Und wo
> in info sed finde ich was dazu (Ich habe auch nichts zu meinem
> Strichpunkt gefunden...)?


/\[trigger\]/,/^$/

das ist eine Bereichsdefinition. Das nachfolgende Kommando wird also nur
auf alle Zeilen zwischen /\[trigger\]/ und der ersten darauf folgenden
Leerzeile (/^$/) angewendet.

s/\(enabled=\)true/\1false/g'

Bei allen Zeilen in dem oben definierten Bereich wird enabled=true auf
enabled=false gesetzt. \1 ist nur eine backreference auf die Klammer in
der ersten Regex.

cu René


Reply to: