Добавьте строку с обратной косой чертой в файл с помощью команды sed - PullRequest
0 голосов
/ 23 февраля 2019

Мне нужно добавить текстовую строку:

--with-mpm=event \

в httpd.spec на 138-й позиции.

Я пытался:

sed -i '138i--with-mpm=event \\' /root/rpmbuild/SPECS/httpd.spec

Этот код запускается вскрипт bash Vagrantfile во время начальной загрузки виртуальной машины.Однако скрипт возвращает ошибку.

Когда я проверяю httpd.spec, выводится строка, в которой отсутствует обратная косая черта:

--with-mpm=event 

Хотя все работает нормально, если запустить его непосредственно в оболочке виртуальной машины.

Как это исправить с помощью sed?

Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

Основное правило при работе с обратными слешами заключается в том, чтобы продолжать добавлять обратные слеши до тех пор, пока не получите ожидаемый результат.

В этом случае буквальный обратный слеш здесь должен быть закодирован четырьмя обратными слешами:

sed -i '138i--with-mpm=event \\\\' /root/rpmbuild/SPECS/httpd.spec
...