Semelhante a resposta de Stephen , mas ligeiramente diferente na forma como é executada:
sed -i '/^RELEASESTATUS=/s/$/xyz/' keyvalue.txt
Em vez de substituir a linha inteira por uma cópia de si mesmo com algum texto adicionado ao final, primeiro ele localiza a linha correta (a linha que tem RELEASESTATUS=
no início) e, em seguida, substitui o texto necessário na fim dessa linha.
Isso usa o fato de que a forma geral do comando substituto ( s
) em sed
é
start,end s/pattern/replacement/flags
onde start
e end
fornece o intervalo de linhas ao qual o comando deve ser aplicado, fornecido como um endereço inicial e final (e "endereço" pode ser um número de linha ou uma expressão regular ou um deslocamento). Ao usar um único endereço, o comando é aplicado apenas àquela linha (ou às linhas únicas correspondentes a uma expressão regular específica).