我想用我的 awk 正则表达式计算和总结文件中的匹配数。
该文件file
包含:
Gra pes
gra ndma
straw berry
blue Berry
banana
peanut
school
Run Code Online (Sandbox Code Playgroud)
我需要为模式匹配制作一个正则表达式,但我不确定如何在正则表达式中实现AND/OR,尽管它们具有相同的优先级。
我试过了:
awk 'tolower($1) ~ /(gra|straw) (pes|berry)|banana|peanut/ {sum+=1} END {print sum+0}' file
Run Code Online (Sandbox Code Playgroud)
所以它应该是两者之一(gra pes, gra berry, straw pes, straw berry) OR banana, peanut
并返回 4,因为有 4 个匹配项。
我假设我的语法错误与OR香蕉|花生,但我不知道如何修复它。
关于出了什么问题的任何想法?谢谢你