通过awk教程,我遇到了这一行
substr($0,20,5) == "HELLO" {print}
如果有" HELLO"则打印一行。字符串从20 char开始。
现在我认为在awk脚本的开头和“如果'为了这个工作,但它仍然可以工作。
有人可以解释一下它的评估方式吗?
答案 0 :(得分:4)
如果你有:
{ action }
...然后该行动在每一行上运行。相比之下,如果你有:
condition { action }
...然后该操作仅针对条件为真的行运行。
最后,如果您只有 条件,则默认操作为print
:
NR % 2 == 0
...因此将打印所有其他行。
您可以在一个脚本中同样拥有多个对:
condition1 { action1 }
condition2 { action2 }
{ unconditional_action }
...还可以有BEGIN
和END
块,它们在执行的开始和结束时运行。