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.