您的位置:首页 > 其它

awk 运算符

2015-10-28 09:50 531 查看
– 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: