小编Hew*_*itt的帖子

运算符的 awk 正则表达式

我想用我的 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香蕉|花生,但我不知道如何修复它。

关于出了什么问题的任何想法?谢谢你

awk pattern-matching

4
推荐指数
2
解决办法
294
查看次数

标签 统计

awk ×1

pattern-matching ×1