Jussi Hirvi wrote:
This is not CentOS-specific, hence OT.

I need a list of all email users on my system (there are hundreds of them).
The list could be extracted from /etc/aliases and the virtusertable.

Does anyone know of a script that would do this automatically? It would have
to - exclude commented-out lines (of course)

and exclude "continuation" lines (lines starting with spaces).

- exclude duplicates
- produce a list of usernames (or maybe unresolved email addresses for some
users) separated by a comma

why comma? isn't LF better (one user per line)?


I imagine perl would be the way to go. I haven't used perl at all myself.


you could start with something like

getkey()
{
  files=$*

  for file in $files; do
    sed -e '/^[\#       ]/d' -e '/^$/d' $file | \
      awk -F'[:         ]' '{print $1}'
  done
}

getkey /etc/aliases /etc/passwd | sort|uniq > users.local
getkey yourvirtualmap > users.virtual


If you want a list of all valid email addresses, you need to append the domains in mydestination to users.local.
_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Reply via email to