Sua origem tem os caracteres \
, $
, ^
e .
, que precisarão de cotação adicional. Também o seu alvo tem \
, que deve ser citado
A string resultante é um pouco confusa:
sed 's/allow \^120\\.123\\.178\\.254\$/allow ^124\.130\.23\.235$/'
O g
final que você teve é necessário apenas se essa string puder aparecer várias vezes por linha.
Por exemplo:
$ cat x
allow ^120\.123\.178\.254$
$ sed 's/allow \^120\\.123\\.178\\.254\$/allow ^124\.130\.23\.235$/' x
allow ^124\.130\.23\.235$