Почему SED повторяет, а не редактирует: sed '/^;text1/!b;:a;n;//ba;i\text2'

sed '/^;date.timezone =/!b;:a;n;//ba;i\date.timezone = Europe/London' /etc/php.ini

Вы, наверное, догадались, что я создаю скрипт для настройки серверов LAMP.

В приведенном выше примере текст не заменяется, а вместо этого изменения отображаются в консоли.

Моя цель состояла в том, чтобы вставить date.timezone = Europe/London последнее вхождение ;date.timezone =


person ZZ9    schedule 29.04.2015    source источник
comment
Вы не используете флаг -i, чтобы сообщить sed об изменении на месте.   -  person Etan Reisner    schedule 29.04.2015
comment
Хорошо, теперь я чувствую себя глупо. Вот оно. Поставь это как ответ, если хочешь?   -  person ZZ9    schedule 29.04.2015
comment
Наверное, лучше просто закрыть/удалить вопрос. Это происходит довольно часто и не нуждается в другом вопросе об этом.   -  person Etan Reisner    schedule 29.04.2015
comment
Вы можете удалить вопрос. Я бы подбодрил вас. Это место выглядит странно   -  person hek2mgl    schedule 29.04.2015


Ответы (1)


Этан Рейснер: вы не используете флаг -i, чтобы сообщить sed об изменении на месте.

person ZZ9    schedule 29.04.2015