What shell / OS?
If you're using bash, you should be able to get away with something like:
Code:
#! /bin/bash
typeset -i n=0
typeset -a names
oldifs="$IFS"
IFS=:
while read passwdname _; do
[[ $passwdname == *a* ]] && names[n++]=$passwdname
done </etc/passwd
IFS="$oldifs"
names=${names[*]}
ps --o user,fname -U ${names// /,}