Есть файл конфигурации, где есть определённый параметр.
Какими командами можно поставить и убрать в начале строки параметра знак # ?
Пример файла
# /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/^/#/' файл
Комментариев нет:
Отправить комментарий