#!/bin/bash # Dieses Script stellt dar, welche Adressen auf key@ keine Entsprechung zur Adressen # auf mitglieder-announce@ haben. # Da bestimmte Mitglieder auf beiden Listen unterschiedliche Adressen verwenden, # wird in /etc/aliases_key@ ein entsprechendes Mapping hinterlegt. # # Diese Information wird benötigt, um abgleichen zu können, dass auf key@ # keine ehemaligen Member verbleiben. # cfg-file: alias_list_members () { awk 'BEGIN{ # hash aliases-key@ file: cf="/etc/aliases_key@" while( (getline l < cf ) > 0 ) { if ( l !~ /^(#|$)/ ) { #deb# print l split(l,a,"[ \t]+"); #deb# print "-> " a[1] " - " a[2] " -" h[a[1]] = a[2] } } } { if ( h[$0] ) { print h[$0] } else { print } }' } LIST=$( diff <( list_members mitglieder-announce ) <( list_members key | alias_list_members | LANG=C sort -u ) | grep "^>" ) if [ "$LIST" != "" ]; then echo "Members auf key@, die keine Entsprechung auf members-announce@ haben" echo "$LIST" fi