Great Circle Associates Majordomo-Users
(June 2001)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: RE: Sorting addresses by domain
From: "Anderson, Bill" <wander01 @ mail . state . mo . us>
Date: Thu, 21 Jun 2001 15:16:16 -0500
To: "'Majordomo Users'" <Majordomo-users @ GreatCircle . COM>

I found a bug in what I posted already. When the script copies the sorted
list file over the original, the file owner and group are set to the user
and group the script ran under, not majordomo. I had to add these lines to
the end of the script:

`chown majordomo *`;
'chgrp majordomo *`

-----Original Message-----
From: majordomo-users-owner@GreatCircle.COM
[mailto:majordomo-users-owner@GreatCircle.COM]On Behalf Of Anderson,
Bill
Sent: Thursday, June 21, 2001 9:37 AM
To: 'Majordomo Users'
Subject: Sorting addresses by domain


The recent discussions on how to improve majordomo/sendmail performance by
sorting the list files by domain prompted me to try to do this for my own
lists. Finding no script to do this already written, I put together the
following perl script to do the sorting. The directory the list files are in
is defined in the chdir function in the script. The script assumes the list
files are the only files in the directory _without_ a period in the name.

#! /usr/bin/perl

chdir "/var/lib/majordomo/lists/testdir";
@listnames = `ls`;
@lists = grep (!/\./, @listnames);
unlink 'lists.out';

for my $list (@lists)
   {
      chomp $list;
      open LISTFILE, $list;
      print $list."\n";
      @fileaddresses = ();

      while (<LISTFILE>)
      {
         chomp;
         ($account, $host) = split (/\@/,  $_); 
         push @fileaddresses, lc($host)."@".lc($account)."\n";
      }

      @sortedaddresses = sort @fileaddresses;
      open OUTFILE, ">>sortedlist.out";

      for my $sortedaddress (@sortedaddresses)
      {
         chomp $sortedaddress;
         ($sortedhost, $sorteddest) = split (/\@/, $sortedaddress);
         print OUTFILE $sorteddest."@".$sortedhost."\n";
      }
      close OUTFILE;

      `mv sortedlist.out $list`;
      unlink "sortedlist.out"; 
   }

All comments/suggested improvements are welcome.

Bill Anderson
MIS Network Administrator
MO Dept of Economic Development




Follow-Ups:
Indexed By Date Previous: Re: Sorting addresses by domain
From: jacks@sage-american.com
Next: Re: Sorting addresses by domain
From: Tom Lettington <tom@tfl.net>
Indexed By Thread Previous: Re: Sorting addresses by domain
From: hunter <hunter@userfriendly.net>
Next: Re: Sorting addresses by domain
From: hunter <hunter@userfriendly.net>

Google
 
Search Internet Search www.greatcircle.com