awk 运算符

– 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值