在其他编程语言中,通常有一个bool
orboolean
类型。我可以创建一个布尔类型变量并使用not
运算符来切换它。我可以多次切换它并获得一系列真,假,真,假......
在 awk 中没有布尔类型。只有空字符串和数字 0 被认为是假的。所有其他值均为真。在这种情况下,如果我想在第 1、3、5 行上执行操作 A 和在第 2、4、6 行上执行操作 B,我该怎么办……如果我们有一个布尔类型变量,那么任务将非常容易我可以简单的not
。
基本上使用a=!a
这将否定从a
0 到 1 和从 1 到 0。
你可以测试
ls | awk '{a=!a; if ( a ) printf "good %s\n",$0 ; else printf "bad\n";}'
Run Code Online (Sandbox Code Playgroud)