Eu suspeito de "outras versões de grep " que você quer dizer GNU grep e está pensando em sua -f option, que permite que um argumento - faça com que ele se comporte como você diz.
O BSD grep suporta -f , mas requer um arquivo real como argumento. Na verdade, não será aceito - como argumento.
Nem tudo está perdido. Você ainda pode passar o padrão para grep via substituição de comando:
$ grep 'my-pattern-producing-command' some-files*
Ou se o padrão estiver em um arquivo:
$ grep 'head -1 my-pattern-file.txt' some-files*
Ou instale o GNU grep :
$ cd /usr/ports/textproc/gnugrep
$ sudo make install clean
A propósito, o SysV grep não suporta -f , então essa é outra razão para ter cuidado ao confiar nele. Dito isso, o Solaris está enviando GNU grep por padrão. Você realmente precisa se esforçar para usar o SysV grep no Solaris.