Bash. Найти строку и закомментировать её используя sed

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
яблоко
груша
вишня

На этом всё!



Report Page