– Start
算术运算符
#! /usr/bin/awk -f
BEGIN {
x=2;
y=3;
r=0;
# 加
r = x + y;
printf("x + y = %s\n", r);
# 减
r = x - y;
printf("x - y = %s\n", r);
# 乘
r = x * y;
printf("x * y = %s\n", r);
# 除
r = x / y;
printf("x / y = %s\n", r);
# 余
r = x % y;
printf("x %% y = %s\n", r);
# 幂,相当于2的3次方
r = x ^ y;
printf("x ^ y = %s\n", r);
# 幂,相当于2的3次方
r = x ** y;
printf("x ** y = %s\n", r);
};
{};
END {};
赋值运算符
#! /usr/bin/awk -f
BEGIN {
# 赋值
x=2;
r=3;
printf("x = %s, r = %s\n", x, r);
# 自增
r++;
++r;
printf("r++ = %s\n", r);
# 自减
r--;
--r;
printf("r-- = %s\n", r);
# r = r + x
r+=x;
printf("r + x = %s\n", r);
# r = r - x
r-=x;
printf("r - x = %s\n", r);
# r = r * x
r*=x;
printf("r * x = %s\n", r);
# r = r / x
r/=x;
printf("r / x = %s\n", r);
# r = r % x
r%=x;
printf("r %% x = %s\n", r);
# r = r ^ x
r^=x;
printf("r ^ x = %s\n", r);
# r = r ** x
r**=x;
printf("r ** x = %s\n", r);
};
{};
END {};
比较运算符
#! /usr/bin/awk -f
BEGIN {
x=2;
y=3;
# 大于
if(x > y) {
print "x > y";
}
# 大于等于
if(x >= y) {
print "x >= y";
}
# 小于
if(x < y) {
print "x < y";
}
# 小于等于
if(x <= y) {
print "x <= y";
}
# 等于
if(x == y) {
print "x == y";
}
# 不等于
if(x != y) {
print "x != y";
}
# 匹配
if("x"~/x*/) {
print "x match x*";
}
# 不匹配
if("x"!~/test/) {
print "x not match test";
}
};
{};
END {};
逻辑运算符
#! /usr/bin/awk -f
BEGIN {
x="a";
y="b";
z="c";
# 与
if(x < y && y < z) {
print "x < y < z";
}
# 或
if(x < y || y < z) {
print "x < y || y < z";
}
# 非
if(!(x > y)) {
print "x <= y";
}
};
{};
END {};
串连接运算符
#! /usr/bin/awk -f
BEGIN {
# 空格是串连接运算符
x = "Hello" " World"
print x;
};
{};
END {};
条件运算符
#! /usr/bin/awk -f
BEGIN {
x=2;
y=3;
r=0;
r=(y > x) ? y : x;
print r;
};
{};
END {};
– 更多参见:awk 精萃
– 声 明:转载请注明出处
– Last Updated on 2015-10-28
– Written by ShangBo on 2015-10-28
– End