sed - kommentiere eine übereinstimmende Zeile und x Zeilen danach

8

Ich brauche Hilfe bei der Verwendung von sed, um passende Zeilen und 4 Zeilen, die darauf folgen, zu kommentieren. in einer Textdatei.

meine Textdatei ist wie folgt:

%Vor%

Ich möchte # allen Zeilen mit dem Text '[myprocess' und 4 Zeilen, die darauf folgen erwartete Ausgabe:

%Vor%

Vielen Dank für Ihre Hilfe.

    
Sanjan Grero 28.07.2012, 19:14
quelle

3 Antworten

13

Sie können dies tun, indem Sie einen regulären Ausdruck auf eine Reihe von Zeilen anwenden:

%Vor%

Damit werden Zeilen mit 'myprocess' und den 4 Zeilen nach ihnen abgeglichen. Für diese 4 Zeilen fügt es dann ein '#' am Anfang der Zeile ein.

(Ich denke, das könnte eine GNU-Erweiterung sein - es ist nicht in irgendeinem der "sed one liner" Cheatsheets, die ich kenne)

    
Flexo 28.07.2012, 19:32
quelle
2
%Vor%     
perreal 28.07.2012 19:37
quelle
1

String-Verkettung und Standardaktion in awk verwenden.
Ссылка

%Vor%

oder wenn der Block immer mit einer leeren Zeile endet

%Vor%     
slitvinov 28.07.2012 22:17
quelle

Tags und Links