#linux #регулярные_выражения #bash
Есть файл конфигурации, где есть определённый параметр. Какими командами можно поставить и убрать в начале строки параметра знак # ? Пример файла # /bin/bash /usr/local/scripts/program1 & /bin/bash /usr/local/scripts/program2 & # /bin/bash /usr/local/scripts/program3 & exit 0 Нужны две команды, одна убирает знак комментария у program3, другая добавляет знак комментария обратно. Параметр program3 может находиться в любой по счёту строке И если строка уже комментирована, то команда комментирования должна проигнорировать эту строку
Ответы
Ответ 1
поставить символ # в начало строки, содержащей текст: $ sed -i '/текст/s/^/#/' файл убрать символы # в начале строки, содержащей текст: $ sed -i '/текст/s/^#\+//' файл поставить символ # в начало строки, содержащей текст, и начинающейся не с символа #: $ sed -i '/^[^#].*текст/s/^/#/' файлОтвет 2
Закомментировать строку с указанным номером (в данном случае вторую) sed -i '2s/^/#/' ./file.txt Раскомментировать обратно sed -i '2s/^#//' ./file.txt
Комментариев нет:
Отправить комментарий