{ sed -e/./b -es/$/---/\;q; cat; } <in >out
... não só substituirá a primeira linha vazia com três hipens, como também instruirá sed
to q
uit tentando ler o arquivo de entrada assim que a primeira linha vazia for encontrada e simplesmente cat
o resto. Se você estiver usando o GNU sed
, você vai querer usar a opção -u
nbufferred.