sed processa linha de entrada por linha. O modificador /g
influencia se ele substitui todas as ocorrências em uma linha ou apenas a primeira:
echo hehe | sed s/h/H/
echo hehe | sed s/h/H/g
Para substituir apenas a primeira ocorrência no arquivo, use algo como o seguinte:
s/h/H/ # Replace.
ta # Go to a if s/// worked.
b # Otherwise, start the next cycle.
:a { n # Process the next line.
ba # Go to a.
}