The classic filter would be grep, which at it simplest prints to its output any lines containing a character string. Here's an example:
cut -d : -f 1 /etc/passwd | grep foo
This finds all registered users that have "foo" as part of their username by using the cut command to take the first field (username) of each line of the UNIX system password file and passing them all as input to grep, which searches its input for lines containing the character string "foo" and prints them on its output.
Here is a perl equivalent to the above, which prints the whole line from the passwd file:
perl -ne 'print if m/^[^:]*foo/' /etc/passwd
Or, to print only the username, without the rest of the line:
perl -ane '$_ = shift @F; print "$_n" if /foo/' -F: /etc/passwd