我正在寻找两个单独的模式,每个模式在一些大型压缩文件中都有特定的约束。我不能为我的生活找出如何同时为两个案件进行grep。
例如,文件每日记录随时间累加:
MYFILE
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
到目前为止,我已经尝试了
zcat.myfile | grep -e 'Dog|happy' | grep -e 'Cat|happy'
基本上我正试图通过AnimalID找出一年中有多少天,一只狗快乐而一只猫很开心。我可以做些计数和排序,我只是无法弄清楚如何运行
答案 0 :(得分:4)
您可以使用-e
选项
$ seq 10 | grep -e 5 -e 6
5
6
答案 1 :(得分:3)
您可以在此处使用zgrep
:
zgrep -iE '(Dog|Cat)-happy' file
答案 2 :(得分:2)
对于扩展正则表达式egrep
或grep -E
,使用(a|b)
对a或b进行更改。注意资本E。
答案 3 :(得分:2)
您可以使用基本正则表达式执行此操作:
grep -i '\(Dog\|Cat\)-happy' input