Должно быть немного быстрее потому что второе grep
может воздействовать на список файлов.
grep -lZ 'foo' * | xargs -0 grep -l '321'
find
более полезно, если Вы хотите искать, рекурсивные каталоги (в этом случае проигрывают -mindepth
и -maxdepth
опции.
find . -mindepth 1 -maxdepth 1 -type f -exec grep -q 'foo' {} \; -exec grep -l '321' {} +