#!/usr/bin/perl # $Id$ # format: email name comments unless ($query = $ARGV[0]) { print "no query given?!\n"; exit 1; } print "Looking for $query..\n"; # personal mutt aliases if (open A, "$ENV{HOME}/.priv/mutt/aliases") { while () { next if /^#/; next unless /$query/i; next unless /^alias (.*?)\s+(.*)\s+<(.*)>/; print "$3\t$2\t$1\n"; } close A; } # personal mutt aliases if (open A, "$ENV{HOME}/.priv/mutt/aliases.ab") { while () { next if /^#/; next unless /$query/i; next unless /^alias (.*?)\s+(.*)\s+<(.*)>/; print "$3\t$2\t$1\n"; } close A; } ## personal pine aliases #if (open A, "$ENV{HOME}/.addressbook") { # while () { # next unless /$query/i; # if (/(.*)\t(.*)\t(.*)/) { # print "$3\t$2\t$1\n" unless $3 eq ""; # ($alias, $name) = ($1, $2); # } # if (/^ (.*)/) { # multi-line # print "$1\t$name\t$alias (pine)\n"; # } # } #} ## pgp keys #if (open P, "pgpk -l $query |") { # while (

) { # next unless /^uid (.*) <(.*)>(.*)/; # $comment = $3 . "(pgp)"; # print "$2\t$1\t$comment\n"; # } # close P; #} # system passwd while (($name, $comment, $gecos) = (getpwent)[0,5,6]) { $gecos =~ s/,| (\()/\t$1/; $comment ||= "(passwd)"; print "$name\t$gecos\t$comment\n" if $name =~ /$query/i or $comment =~ /$query/i or $gecos =~ /$query/i; } # sendmail aliases if (open A, "/etc/aliases" or open "/etc/mail/aliases") { while () { next if /^#/; next unless /$query/i; next unless /^(.*?):\s+(.*)/; $alias = substr($2, 0, 50); print "$1\t \t$alias\n"; } close A; }