Я пытаюсь заменить строку
: 'development'
с
: 'production'
использование sed
.
Я попробовал несколько опций включая:
sed -i "s|: \'development\'|: \'staging\'|g" index.php
но без любой удачи. Вывод:
sed: 1: "index.php": command i expects \ followed by text
Кто-то может помочь?
Вы не должны выходить из одинарных кавычек в двойных кавычках, видеть этот мой ответ:
Включение символов в двойных кавычках сохраняет литеральное значение всех символов в кавычках, за исключением
$
,`
,\
, и, когда расширение истории включено,!
.
Таким образом они работают:
sed -i "s/: 'development'/: 'staging'/g" index.php
sed -i "s|: 'development'|: 'staging'|g" index.php
sed -i 's|: '\''development'\''|: '\''staging'\''|g' index.php
Я предлагаю:
sed "s/: 'development'/: 'production'/" index.php`
Мне удалось уладить его. Выпущенный в машине Mac я должен снабдить постфиксом .bak-i. Но в Linux это работало без него. Я сначала пробовал его в своей локальной машине для наблюдения вывода, и это перестало работать.
Спасибо всем за Вашу справку.