Process substitution:
*
Feed a while loop with the output of a command
This feeds a while loop with the output of a grep command:
while IFS=":" read -r user _
do
# "$user" holds the username in /etc/passwd
done < <(grep "hello" /etc/passwd)