POSIXLY:
LC_ALL=C sed -e '$!N;/value:/b1' -e 'P;D' -e:1 -e 's/\n[[:space:]]*/ /' <file
É direto:
-
$!N
: com cada linha, exceto a última, lendo a próxima linha -
/value:/b1
: se o padrão corresponder, vá para a filial denominada1
-
P;D
: se o padrão não corresponder, imprima a linha atual, inicie um novo ciclo com a linha de leitura de$!N
acima. Portanto, se você tiverline1\nline2
, imprimaline1
, inicie um novo ciclo comline2
,$!N
faça com que sejaline2\nline3
e assim por diante. -
:1
: define a ramificação denominada1
-
's/\n[[:space:]]*/ /'
: no ramo1
, substitua a nova linha incorporada e os espaços iniciais por um espaço.