awk 'pattern {}'
pattern位置,放置的是一个可以产生bool结果的表达式
如果表达式的值是true,则执行后面的一个{}中的代码
注意,仅仅就是一个,如果还有,则默认是没有pattern的{}
awk '/123/{print $1} {print}'
上面的代码的意思是对于每一行,如果匹配123,则打印第一个字段;对每一行,则打印
可能有个疑问,pattern处不是放置bool的表达式吗,怎么是一个正则表达式呢?
其实,/rep/ 本质是 $0~/rep/
附录:
在awk中,能产生bool结果的操作符是
== !=
> <
>= <=
~ !~
共8个,然后,可以使用&& 或者 || 进行连接 得到的仍然是bool结果
pattern位置,放置的是一个可以产生bool结果的表达式
如果表达式的值是true,则执行后面的一个{}中的代码
注意,仅仅就是一个,如果还有,则默认是没有pattern的{}
awk '/123/{print $1} {print}'
上面的代码的意思是对于每一行,如果匹配123,则打印第一个字段;对每一行,则打印
可能有个疑问,pattern处不是放置bool的表达式吗,怎么是一个正则表达式呢?
其实,/rep/ 本质是 $0~/rep/
附录:
在awk中,能产生bool结果的操作符是
== !=
> <
>= <=
~ !~
共8个,然后,可以使用&& 或者 || 进行连接 得到的仍然是bool结果
本文详细介绍了AWK语言中模式与表达式的使用方法,包括如何利用正则表达式作为模式来控制代码块的执行逻辑。解释了/rep/等价于$0~/rep/的概念,并列举了AWK中可用的布尔操作符。
284

被折叠的 条评论
为什么被折叠?



