[Mailman-Users] Postfix and Mailman tips in FAQ have a mistake?
Mark Sapiro
mark at msapiro.net
Tue Dec 28 21:08:31 CET 2010
Konstantin Vasilyev wrote:
>Here is requested content
># less virtual_to_transport
>#!/bin/sh
>/usr/bin/sed -E -e 's/(^[^#][^ \t]+[ \t]+).+$/\1local/' $1 >
>/usr/local/mailman/data/transport-mailman
>/usr/local/sbin/postmap /usr/local/mailman/data/transport-mailman
>
[...]
># less virtual-mailman
[...]
># LOOP ADDRESSES START
>mailman-loop at cellnetrix.com mailman-loop
># LOOP ADDRESSES END
>
># STANZA START: mailman
># CREATED: Mon Dec 27 11:34:25 2010
>mailman at cellnetrix.com mailman
>mailman-admin at cellnetrix.com mailman-admin
>mailman-bounces at cellnetrix.com mailman-bounces
>mailman-confirm at cellnetrix.com mailman-confirm
>mailman-join at cellnetrix.com mailman-join
>mailman-leave at cellnetrix.com mailman-leave
>mailman-owner at cellnetrix.com mailman-owner
>mailman-request at cellnetrix.com mailman-request
>mailman-subscribe at cellnetrix.com mailman-subscribe
>mailman-unsubscribe at cellnetrix.com mailman-unsubscribe
># STANZA END: mailman
>
># less transport-mailman
[...]
># LOOP ADDRESSES START
>mailman-loop at cellnetlocal
># LOOP ADDRESSES END
>
># STANZA START: mailman
># CREATED: Mon Dec 27 11:34:25 2010
>mailman at cellnetlocal
>mailman-admin at cellnetlocal
>mailman-bounces at cellnetlocal
>mailman-confirm at cellnetlocal
>mailman-join at cellnetlocal
>mailman-leave at cellnetlocal
>mailman-owner at cellnetlocal
>mailman-requestlocal
>mailman-subscribe at cellnetlocal
>mailman-unsubscribe at cellnetlocal
># STANZA END: mailman
It appears that your sed does not recognize the '\t' escape as meaning
a 'tab' character, but rather recognizes it as a literal 't'. This
causes that portion of the pattern in parentheses to be treated as
(^[^#][^ t]+[ t]+) which in turn matches non-comment lines through the
first string of one or more 't' characters instead of matching through
the first string of whitespace. Thus you end up with the above instead
of
# LOOP ADDRESSES START
mailman-loop at cellnetrix.com local
# LOOP ADDRESSES END
# STANZA START: mailman
# CREATED: Mon Dec 27 11:34:25 2010
mailman at cellnetrix.com local
mailman-admin at cellnetrix.com local
mailman-bounces at cellnetrix.com local
mailman-confirm at cellnetrix.com local
mailman-join at cellnetrix.com local
mailman-leave at cellnetrix.com local
mailman-owner at cellnetrix.com local
mailman-request at cellnetrix.com local
mailman-subscribe at cellnetrix.com local
mailman-unsubscribe at cellnetrix.com local
# STANZA END: mailman
Fortunately, the whitespace in virtual-mailman is all spaces and no
tabs so you can change the expression in the sed command to
-e 's/(^[^#][^ ]+[ ]+).+$/\1local/'
(i.e., just drop the two '\t's and it should work.
--
Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
More information about the Mailman-Users
mailing list