Хорошо, нарушая правила, так как это не ответ, просто замечание, что я не могу заставить работать ни одно из этих решений.
% fgrep -f test file
отлично работает.
% cat test | fgrep -f - file
fgrep: -: No such file or directory
выходит из строя.
% cat test | xargs -ifoo grep foo file
xargs: illegal option -- i
usage: xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
[-L number] [-n number [-x]] [-P maxprocs] [-s size]
[utility [argument ...]]
выходит из строя. Обратите внимание, что заглавная буква I необходима. Если я использую это все хорошо.
% grep "`cat test`" file
своего рода работает в том, что возвращает строку для совпадающих терминов, но также возвращает строку grep: line 3 in test: No such file or directory
для каждого файла, который не находит соответствия.
Я что-то упустил или это просто различия в моем дистрибутиве Darwin или оболочке bash?