如何一次 grep 多个模式?

ima*_*nit 5 regex bash grep

我正在寻找两个单独的模式,每个模式在一些大型压缩文件中都有特定的约束。我一生都无法弄清楚如何同时为这两种情况进行 grep。

例如,一个文件每日记录随着时间​​的推移而增加:

我的档案

AnimalID-Type-Mood

Animal456-Dog-happy-day1
Animal453-Elephant-happy-day1
Animal896-Dog-sad-day1
Animal405-Dog-angry-day1
Animal443-Goat-angry-day1
Animal453-Dog-sad-day1
Animal473-Cat-sad-day1
Animal452-cat-happy-day1
Animal456-Dog-angry-day2
Animal453-Elephant-sad-day2
Animal896-Dog-happy-day2
Animal405-Dog-angry-day2
Animal443-Goat-happy-day2
Animal453-Dog-happy-day2
Animal473-Cat-happy-day2
Animal452-cat-happy-day2
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经尝试过

zcat.myfile | grep -e  'Dog|happy' | grep -e 'Cat|happy'
Run Code Online (Sandbox Code Playgroud)

从本质上讲,我试图通过 AnimalID 找出一年中有多少天狗快乐,猫快乐。我可以进行计数和排序,但我不知道如何运行

Jen*_*ens 2

它是egreporgrep -E用于扩展正则表达式,并使用(a|b)a 或 b 进行更改。注意大写E。