Isso é tudo sed work, você não precisa de ferramentas extras:
Digamos que você queira adicionar foo no final da linha contendo f e bar no final das linhas sem f , mas com b
sed '/f/{
s/$/foo/
b
}
/b/s/$/bar/'
Você pode "endereçar" linhas com /pattern/ , então os seguintes comandos são executados somente se contiverem o padrão. Portanto, no exemplo, apenas as linhas que contêm f acionam a execução da substituição s e b (o grupo {} os comandos, portanto, tudo dentro é aplicado apenas se o endereço corresponder. O b de ramificações no final do script para evitar acrescentar outra sequência a um b correspondente.
Diferentes abordagens sem ramificação:
sed '/f/s/$/foo/;s/^[^f]*b[^f]*$/&bar/'
Como exercício, você mesmo pode descobrir isso com algum conhecimento de sed , usando man sed se necessário.