Страницы

Поиск по вопросам

четверг, 4 апреля 2019 г.

Как добавить символ в начало определённых строк?

Есть файл конфигурации, где есть определённый параметр. Какими командами можно поставить и убрать в начале строки параметра знак # ?
Пример файла
# /bin/bash /usr/local/scripts/program1 & /bin/bash /usr/local/scripts/program2 & # /bin/bash /usr/local/scripts/program3 &
exit 0
Нужны две команды, одна убирает знак комментария у program3, другая добавляет знак комментария обратно.
Параметр program3 может находиться в любой по счёту строке И если строка уже комментирована, то команда комментирования должна проигнорировать эту строку


Ответ

поставить символ # в начало строки, содержащей текст
$ sed -i '/текст/s/^/#/' файл
убрать символы # в начале строки, содержащей текст
$ sed -i '/текст/s/^#\+//' файл
поставить символ # в начало строки, содержащей текст, и начинающейся не с символа #
$ sed -i '/^[^#].*текст/s/^/#/' файл

Комментариев нет:

Отправить комментарий