试图评论dovecot conf文件中的一些行

时间:2013-09-24 00:25:45

标签: sed

我正试着评论这句话:

passdb {
  driver = pam
   [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
   [cache_key=<key>] [<service name>]
  args = dovecot
}

通过sed:

sed -i '1!N; s/passdb {\
  driver = pam\
   \[session=yes\] \[setcred=yes\] \[failure_show_msg=yes\] \[max_requests=\<n\>\]\
   \[cache_key=\<key\>\] \[\<service name\>\]\
  args = dovecot\
}/#passdb {\
#  driver = pam\
#   [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]\
#   [cache_key=<key>] [<service name>]\
#  args = dovecot\
#}/' t

但它与我需要的不符,谁能告诉我我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

如果您要做的只是评论passdb}之间的界限,那么以下内容就足够了

sed -i '/^passdb {/,/}/s/^/#/g' file

答案 1 :(得分:1)

使用awk

awk '/^passdb {/,/^}/ {$0="#"$0}1' file