Bash. Найти строку и закомментировать её используя sed
Sysadminium
Иногда бывает нужно скриптом поправить конфигурационные файлы. Здесь я покажу как найти определённую строку по ключевому слову и закомментировать её или снять комментарий с помощью sed.
Вот как ставится комментарий:
# sed -i '/<слово>/s/^/#/' /<файл>
- sed -i — перезаписать файл;
- <слово> — ищем строки с этим словом;
- s — заменить;
- ^ — что заменяем (начало строки);
- # — на что заменяем;
- <файл> — путь к файлу, который будем редактировать.
Снять комментарий можно так:
# sed -i '/<слово>/s/#//' /<файл>
Пример:
$ cat test.txt яблоко груша вишня $ sed -i '/вишня/s/^/#/' test.txt $ cat test.txt яблоко груша #вишня $ sed -i '/вишня/s/#//' test.txt $ cat test.txt яблоко груша вишня
На этом всё!