awk赋值操作符
2015-06-14 19:40
225 查看
一旦变量被赋予了一个值,那么就可以用这个变量名来引用这个值。下面的表达式表示将变量x的值和1相加并将结果赋给变量y:
y = x + 1
即计算x加1的值,并将结果赋给变量y。语句
print y
打印y的值。如果下面的一系列语句将出现在脚本中:
x = 1
y = x + 1
print y
那么y的值为2。
我们可以将这3个语句减少为两个:
x = 1
print x + 1
注意, print语句后面的x的值却仍为1。我们没有改变变量x的值,我们只是将它和1相加并打印结果。实际上,如果我们想将x的值增加,我们可以用赋值操作符+=。这个操作符组合了两个操作符:它将1和x的值相加并将结果赋给x。下表列出了awk表达式中的赋值操作符。
赋值操作符
下面的例子用于计算一个文件中空行的目录。
#统计空行数
/^$/ {print
x += 1}
虽然这里没有为变量x赋初值。但在遇到第一个空行之前它的值一直为0。表达式x+=1在每次遇到空行时进行求值并将x的值增加1。print语句打印表达式返回的值。因为我们在遇到每个空行时都执行print语句,所以我们得到了空行数的一个连续值。
表达式可以表示为不同形式,有些更简洁。表达式x+=1比等价的表达式: x=x+1更简洁。但这两个都没有下面这个表达式简洁:
++x
"++"是递增操作符( "--"是递减操作符)。表达式每计算一次变量的值就增加1。递增和递减操作符可以出现在操作数的任何一边,位置不同可以得到不同的计算结果。
++x 在返回结果前递增x的值(前缀)
x++ 在返回结果后递增x的值(后缀)
参考资料:http://www.linuxawk.com/communication/480.html
y = x + 1
即计算x加1的值,并将结果赋给变量y。语句
print y
打印y的值。如果下面的一系列语句将出现在脚本中:
x = 1
y = x + 1
print y
那么y的值为2。
我们可以将这3个语句减少为两个:
x = 1
print x + 1
注意, print语句后面的x的值却仍为1。我们没有改变变量x的值,我们只是将它和1相加并打印结果。实际上,如果我们想将x的值增加,我们可以用赋值操作符+=。这个操作符组合了两个操作符:它将1和x的值相加并将结果赋给x。下表列出了awk表达式中的赋值操作符。
赋值操作符
操作符 | 定义 |
---|---|
++ | 变量加1 |
-- | 变量减1 |
+= | 将加的结果赋给变量 |
-= | 将减的结果赋给变量 |
*= | 将乘的结果赋给变量 |
/+ | 将除的结果赋给变量 |
%= | 将取模的结果赋给变量 |
^= | 将取幂的结果赋给变量 |
**= | 将取幂的结果赋给变量 |
#统计空行数
x += 1}
虽然这里没有为变量x赋初值。但在遇到第一个空行之前它的值一直为0。表达式x+=1在每次遇到空行时进行求值并将x的值增加1。print语句打印表达式返回的值。因为我们在遇到每个空行时都执行print语句,所以我们得到了空行数的一个连续值。
表达式可以表示为不同形式,有些更简洁。表达式x+=1比等价的表达式: x=x+1更简洁。但这两个都没有下面这个表达式简洁:
++x
"++"是递增操作符( "--"是递减操作符)。表达式每计算一次变量的值就增加1。递增和递减操作符可以出现在操作数的任何一边,位置不同可以得到不同的计算结果。
++x 在返回结果前递增x的值(前缀)
x++ 在返回结果后递增x的值(后缀)
参考资料:http://www.linuxawk.com/communication/480.html
相关文章推荐
- 文本处理工具AWK详解
- awk简介与学习笔记收集第1/3页
- linux shell awk获得外部变量(变量传值)简介
- sed或awk处理文件最后一行的实现方法
- awk中查看包含某两列字符的用法
- awk区间取值的例子
- awk实现Left、join查询、去除重复值以及局部变量讲解例子
- awk中让人郁闷的system()函数
- awk中实现ord函数功能
- awk中RS、ORS、FS、OFS的区别和联系小结
- 分享awk变量$0的妙用
- awk正则表达式和内置函数的使用方法实例详解
- Shell正则表达式之grep、sed、awk实操笔记
- Linux里awk中split函数的用法小结
- Shell对比两个文件中的记录有多少重复
- awk学习系列-第3/3部分
- grep,awk,sed实例
- Linux如何使用awk文本处理工具进行数组排序
- awk 正则表达式
- awk命令简介