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.