计算文件中的特定字符

计算文件中的特定字符

~/[bcdfg]/)有人可以向我解释一下以下代码的这一部分:

awk ' {for(i=1;i<=NF;i++) {if ($i ~/[bcdfg]/) count++;

方法?我知道它计算 b、c、d、f 出现的频率,但我不明白它是如何工作的。 “~”到底是做什么的,我也不明白这部分是如何 [bcdfg]/)工作的。

答案1

~是“正则表达式匹配”运算符。它获取左侧的字符串并将其与右侧的正则表达式模式进行比较。看正则表达式用法

/.../指定正则表达式文字 - 请参阅常用表达

[bcdfg]b是正则表达式括号表达式:它与单个字符匹配, , c, d, f,之一g- 请参阅使用括号表达式

这个图案不是锚定的,所以它正在测试是否$i 包含指定的字母之一。

相关内容