sed
nos permite definir intervalos de linhas e, em seguida, aplicar somente substituições dentro desses intervalos. Podemos definir um intervalo começando com uma linha contendo Some/Foo/Bar/String
e terminando com uma linha contendo }
e, em seguida, aplicar um comando substituto para comentar essas linhas:
$ sed '\|/Some/Foo/Bar/String|,/}/ s/^/#/' file
#foo { '/Some/Foo/Bar/String' :
# key1 => value1,
# key2 => value2,
# key3 => value3,
# key4 => value4,
# key5 => value5,
#}
Detalhes
-
\|/Some/Foo/Bar/String|, /}/
Isso define o intervalo. Ele poderia ter sido escrito como
/\/Some\/Foo\/Bar\/String/, /}/
, mas, para evitar barras invertidas, usei|
como o delimitador no lugar de/
para o primeiro regex. -
s/^/#/
Isso é aplicado somente às linhas do intervalo e as comenta.