Hacer:
sed -i "s/\$rcmail_config\['default_host'\] =.*/\$rcmail_config['default_host'] = 'abcdef';/" /your.file
Reemplazará solo la línea y establecerá sus datos independientemente de lo que anteriormente.
Pregunta
Quiero agregar una cadena en un lugar particular en un párrafo
eso es:
$rcmail_config['default_host'] = '';
a
$rcmail_config['default_host'] = 'abcdef';
¿Es posible usar SED?
Solución
Hacer:
sed -i "s/\$rcmail_config\['default_host'\] =.*/\$rcmail_config['default_host'] = 'abcdef';/" /your.file
Reemplazará solo la línea y establecerá sus datos independientemente de lo que anteriormente.
Otros consejos
sed -e "/\$rcmail_config/s/'';$/'abcdef';/"
Debe hacer lo que quieras.
> echo -e "foo = '';\nbar = '';\n\$rcmail_config['default_host'] = '';"
foo = '';
bar = '';
$rcmail_config['default_host'] = '';
> echo -e "foo = '';\nbar = '';\n\$rcmail_config['default_host'] = '';" | sed -e "/\$rcmail_config/s/'';$/'abcdef';/"
foo = '';
bar = '';
$rcmail_config['default_host'] = 'abcdef';