

下記のやりたいことを実現するコマンドをご教示ください。

## 前提条件

$ ls  
log1  
log2  
log3

$ cat word.txt  
apple  
google  
facebook

## 試したコマンド

$ cat word.txt | xargs grep -nr .  
これだとうまくいかない！

## やりたいこと

apple, google, facebookという文字列の最低でもいずれかを含む行を、カレントディレクトリにあるlog1-3から検索したい。find,
grep,
xargsの組み合わせで、特定の単語を、複数のファイルを対象にして検索する方法はぐぐったらでてくるのですが、自分がやりたいことが発見できずでして。

よろしくお願いします。


CC BY-SA 3.0
2017-10-31T05:28:01.980
39172
2018-12-21T14:41:03.200
25065
question
linux
grepとxargsを組み合わせて複数文字列の検索を行いたい


Linux であれば GNU grep だと思われますので、`-f`オプションを使うとか。

[code]

    $ grep -f word.txt log{1..3}
    
[/code]

([metropolis](https://ja.stackoverflow.com/users/16894/metropolis)さんの[コメント](https://ja.stackoverflow.com/questions/39172/grep%E3%81%A8xargs%E3%82%92%E7%B5%84%E3%81%BF%E5%90%88%E3%82%8F%E3%81%9B%E3%81%A6%E8%A4%87%E6%95%B0%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%A4%9C%E7%B4%A2%E3%82%92%E8%A1%8C%E3%81%84%E3%81%9F%E3%81%84/51368#comment39575_39172)より)


CC BY-SA 4.0
2018-12-20T01:08:46.247
51368
2018-12-21T14:41:03.200
2018-12-21T14:41:03.200
19110
3060
39172
answer