Сед работает неправильно

55
8

Я пытаюсь вставить некоторые строки в директиву в файле conf Apache, так что это конечный вывод:

<Directory />
Order deny,allow
Deny from all
Options None
AllowOverride None
</Directory>

Я попробовал просто проверить, что он работает:

http_file=/etc/httpd/conf/httpd.conf
sed -n "<Directory /> a\Deny from all" $http_file

Но он дает эту ошибку: sed: -e expression #1, char 1: unknown command: '<'.

Поэтому я избежал специальных символов и попробовал это:

sed -n "/\<Directory \/\>/a\Deny from all" $http_file

Но это все еще не работает.

Что мне не хватает?

спросил(а) 2014-04-29T23:15:00+04:00 6 лет, 2 месяца назад
1
Решение
55

Используйте это sed:

sed -n '/<Directory *\/>/ a\
Deny from all' "$http_file"

ответил(а) 2014-04-29T23:18:00+04:00 6 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема