Ответы:
Тривиальный ответ: «больше обратной косой черты, меньше пробелов»:
echo "AXIS2C_HOME=/usr/local/Axis2C" | sed 's/\(^AXIS2C_HOME=\)\(.*\)/\2 \1/'
Но более широкий ответ: «подожди, что ты пытаешься сделать?» Вы хотите, чтобы пары ключ-значение были разбиты на полезные переменные, или вы действительно просто пытаетесь преобразовать ввод в обратный синтаксис, чтобы передать его чему-то еще?
Sed великолепен, но Perl тоже может это сделать, и ему не нужен лес обратной косой черты:
% echo "AXIS2C_HOME=/usr/local/Axis2C" | perl -pe 's/(^AXIS2C_HOME=)(.*)/\2 \1/'
/usr/local/Axis2C AXIS2C_HOME=
Кроме того, у вас есть все возможности механизма регулярных выражений, поэтому вы можете создавать еще более сложные шаблоны.
sedтакой как GNU sed, который поддерживает расширенные регулярные выражения:echo "AXIS2C_HOME=/usr/local/Axis2C" | sed -r 's/(^AXIS2C_HOME=)(.*)/\2 \1/'