2015-06-04 1 views
0

Я пытаюсь прокомментировать несколько записей в файле [/ etc/hosts], используя sed. У меня есть следующая команда, которая прекрасно работает:комментарий строки файла хоста, содержащие строку, если еще не прокомментирован

sed -i$(date +%s).bak '/devops/,/devops/s/^/# /' /etc/hosts 

Моя проблема возникает, когда я повторно запустить скрипт, содержащий указанную выше строку, мои комментируемые линии получить новый комментарий. Как добавить возможность пропуска прокомментированных строк [^ #]?

Спасибо, Lars

+1

'SED -i $ (дата +% s) .bak«/^[^ #] * devops/s/^/#/'/ etc/hosts' – anishsane

ответ

2

Комментарий только те строки, которые еще не комментировали:

sed -i$(date +%s).bak '/^[^#]*devops/s/^/# /' /etc/hosts 
+0

Спасибо, что отлично работали – Lars

Смежные вопросы