0

私はこの行にコメントしようとしています:

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

しかし、それは私が必要とするものと一致しません。誰かが私がここで間違っていることを教えてもらえますか?

4

2 に答える 2

2

passdbとの間の行をコメントするだけの場合は}、次のようにすれば十分です。

sed -i '/^passdb {/,/}/s/^/#/g' file
于 2013-09-24T00:34:14.153 に答える
1

使用するawk

awk '/^passdb {/,/^}/ {$0="#"$0}1' file
于 2013-09-24T06:42:03.863 に答える