> echo "green" |awk '{ if($0 ~ "^green$" ) print $0 }'
green
> echo "green" |awk '{ if($0 ~ /^green$/) print $0 }'
green
dynamic regexp,是指通过计算后得到的正则表达式,比如 ~ "..."(字符串计算), ~ a(变量计算)等。
regexp constant,本身就是正则了。
相对来说,动态正则比较复杂,就如数学的变量比常量复杂一样。
尽量使用正则常量,除非你清楚awk到底做了些什么。
比如要匹配字面的*:
动态正则: ~ "\\*" ,不能使用 ~ "\*"
常量正则:~ /\*/
阅读(684) | 评论(0) | 转发(0) |