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