Sure you can run more "pipes" in a row. Just remember that the pipe command connects the standards out to the next standard in. ie The output of
ls -al /dev | grep hda
is fed to
but since the first grep only has stuff with hda in it grep will not find anything with cdrom.
use egrep and regular expressions instead.
ls -al /dev/ | egrep hda\|cdrom
performs what I think you were looking for.
the " a | b " thing is a regular expression that means " a or b". But since "|" is the pipe command you have to throw in the "\" to tell your shell that it is the "|" character and not the pipe command.
Hope it helped.