| #!/bin/sh |
| |
| header= |
| while : |
| do |
| case $# in 0) break ;; esac |
| case "$1" in |
| -b) header=Bcc ;; |
| -c) header=Cc ;; |
| -*) echo >&2 "Unknown option $1" |
| exit 1 ;; |
| *) break ;; |
| esac |
| shift |
| done |
| |
| case $# in |
| 0) match='*' ;; |
| 1) match="*$1*"; shift ;; |
| esac |
| for p |
| do |
| match="$match|*$p*" |
| done |
| |
| { |
| iis= |
| iis2=', |
| ' |
| while read address name |
| do |
| case "$address" in |
| '#'*) continue ;; |
| esac |
| case "$name" in |
| $match) ;; |
| *) continue ;; |
| esac |
| item="$name <$address>" |
| if test -z "$header" |
| then |
| echo "$iis$item" |
| elif test -z "$iis" |
| then |
| printf "$header: $item" |
| iis="$iis2" |
| else |
| printf "$iis$item" |
| fi |
| done |
| if test -n "$header" |
| then |
| printf '\n' |
| fi |
| } <<\EOF |
| linux-kernel@vger.kernel.org Linux Kernel |
| ask@perl.org Perl5-porters at perl |
| EOF |