注释包含字符串的主机文件行(如果尚未注释)

comment host file rows containing a string, if not already commented

我正在尝试使用 sed 评论我的 [/etc/hosts] 文件中的几个条目。我有以下命令效果很好:

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

当我重新 运行 包含上述行的脚本时,我的问题就来了,我的注释行得到了新的注释。如何添加跳过注释 [^#] 行的功能?

谢谢, 拉斯

仅评论那些尚未评论的行:

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