Réponses:
La réponse triviale est "plus de barres obliques inverses, moins d'espaces":
echo "AXIS2C_HOME=/usr/local/Axis2C" | sed 's/\(^AXIS2C_HOME=\)\(.*\)/\2 \1/'
Mais la réponse plus large est "attendez, qu'essayez-vous de faire?" Voulez-vous que les paires clé-valeur soient divisées en variables utiles, ou essayez-vous vraiment de fusionner l'entrée dans la syntaxe inverse afin de la nourrir à autre chose?
Sed est génial, mais Perl peut le faire aussi, et il ne nécessite pas la forêt de contre-obliques:
% echo "AXIS2C_HOME=/usr/local/Axis2C" | perl -pe 's/(^AXIS2C_HOME=)(.*)/\2 \1/'
/usr/local/Axis2C AXIS2C_HOME=
De plus, vous disposez de toute la puissance du moteur d'expression régulière, vous pouvez donc créer des motifs encore plus complexes.
sed
tel que GNU sed qui prend en charge les expressions régulières étendues:echo "AXIS2C_HOME=/usr/local/Axis2C" | sed -r 's/(^AXIS2C_HOME=)(.*)/\2 \1/'