grep -l string2 `grep -l string1 /path/*`
これは
と同じですgrep -l string2 $(grep -l string1 /path/*)
編集:なぜ grep string1 /path/* | grep string2
なのか alwbtc が望んでいると私が思うことをしません。
$ cd /tmp
$ cat a
apples
oranges
bananas
$ cat b
apples
mangoes
lemons
$ cat c
mangoes
limes
pears
$ cd ~
$ grep apples /tmp/* | grep mangoes
$
何も見つかりませんでしたが、ファイル b には両方の文字列が含まれています。
これがalwbtcが望んでいることだと思います
$ grep -l apples $(grep -l mangoes /tmp/*)
/tmp/b
パイプ 1 grep
別のものに:
grep "string1" /path/to/files/* | grep "string2"