LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Glenn Strauss <[log in to unmask]>
Sat, 29 Dec 2001 01:03:45 -0500
text/plain (55 lines)
On Fri, 28 Dec 2001 14:52:23 -0600, [log in to unmask] wrote:

>I would like to write a report in Perl (similar to cntpost.rexx) to
>display activity for each of the lists on my server (OpenVMS).  However,
>I have a requirement to also display the number of members of a list
>(for the day of the report) as an additional statistic.  I have
>reviewed some of the rexx scripts available, but can't find anyway to
>get this number of members count.
>
>Any pointers on how to get that number?  Remember, not every list has
>activity over the reporting period so I cannot use the number of
>recepients value.

The following are all Perl one-liners that I use to quickly get information
about lists.  They directly parse the *.list file.  (You'll have to copy and
paste these onto a single line since email will wrap them)

I hope people find them useful.
Glenn  <http://www.netspace.org> <http://lists.netspace.org>

For extracting emails from a single list file

cat $LSROOT/home/mylistfile.list | perl -p -e 's/^.{11}//,
s/\*.{99}|(.{100})/$1\n/g, s/ +$//gm, s/\n+/\n/g, s/^\n//mg'

(for what you want to do, Richard, just add "| wc -l" to the end of the above)

For extracting emails from all list files (prints blank line between lists)

cat $LSROOT/home/*.list | perl -p -e 's/^.{11}//, s/\*.{99}|(.{100})/$1\n/g,
s/ +$//gm, s/\n+/\n/g'

Unique emails over all lists

cat $LSROOT/home/*.list | perl -p -e 's/^.{11}//, s/\*.{99}|(.{100})/$1\n/g,
s/ +$//gm, s/\n+/\n/g'
| grep '@' | awk '{print $1}' | sort -u

For extracting list headers

cat $LSROOT/home/*.list | perl -p -e s/^.{11}//, s/(\*.{99})|.*/$1\n/g, s/
+$//gm'

For extracting list headers (prints a blank line between lists)

cat $LSROOT/home/*.list | perl -p -e 's/^.{11}//, s/(\*.{99})|.*/$1\n/g, s/
+$//gm'


Standard disclaimer:
From these one-liners, you might get the idea to construct scripts to
directly modify the $LSROOT/home/*.list files.  DO NOT.  Changing them under
the nose of lsv is not a very bright thing to do.  The LISTSERV manual warns
not to do this.

ATOM RSS1 RSS2