Войти

Показать полную графическую версию : [решено] sed 's///' - не получается заменить строку файла


VladDV
08-12-2011, 10:41
Привет!

На досуге решил освоить полезный инструмент sed. Для примера хочу включить параметр ip_forward.

Помню, что он должен быть в /etc/sysctl.conf. "Вспоминаю" точное название:


srv:~#sed -n '/ip_forward/p' /etc/sysctl.conf
#net.ipv4.ip_forward=1


Далее пробую так:

sed -n -e 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

или так:

sed -n -e 's/\#net.ipv4.ip_forward\=1/net.ipv4.ip_forward\=1/' /etc/sysctl.conf

ошибок не выдает, но и не меняет ничего.

PhilB
08-12-2011, 16:03
Код:
sed -n -e 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf »

Следует заменить флаг "-n" на "-i".

VladDV
09-12-2011, 02:09
PhilB, большое спасибо!

P.S.: нашел вариант короче :)

sed -i -e '/net.ipv4.ip_forward/s/#//' /etc/sysctl.conf




© OSzone.net 2001-2012