可以使用表达式来存储、操作和检索数据,这些操作与sed中的有很大的区别,但这是大多数程序设计语言所具有的共同特性。
一个表达式通过计算返回一个值。表达式由数字和字符串常量、变量、操作符、函数和正则表达式组成。我们在之前的文章中中详细介绍了正则表达式。在这一部分,我们将学习由常量、变量和操作符组成的表达式。
常量有两种类型:字符串型或数字型( "red"或1)。字符串在表达式中必须用引号括起来。在字符串中可以使用在表7-1中列出的转义顺序。
转义序列
序列描述\a 报警字符,通常是ASCII BEL字符
\b 退格键
\f 走纸符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd 将字符表示为1 到3 位八进制
\xbex 将字符表示为十六进制值
\c 任何需要字面表示的字符c
变量是引用值的标识符。定义变量只需要为它定义一个名字并将数据赋给它即可。变量名只能由字母、数字和下划线组成。而且不能以数字开头。变量名的大小写很重要: Salary和salary是两个不同的变量,变量不必进行说明,你不必告诉awk什么类型的数据存储在一个变量中。每个变量有一个字符串型值和数字型值, awk能够根据表达式的前后关系来选择合适的值(不包含数字的字符串值为0)。变量不必初始化。awk自动将它们初始化为空字符串,如果作为数字,它的值为0。下面的表达式表示将一个值赋给x:
x=1
x是变量的名字,=是一个赋值操作符,1是一个数字常量。下面的表达式表示将字符串"Hello" 赋给Z:
z="Hello"
空格是字符串连接操作符,表达式:
z = "Hello" "World"
将两个字符串连接在一起,并将结果"HelloWorld"赋给变量z。
美元符号($)是引用字段操作符。下面的表达式表示把当前输入记录的第一个字段的值赋予变量w:
w = $1
多种操作符可以用在表达式中。下表列出了算术操作符。
算术操作符
运算符含义例子+ 加 x+y
- 减 x-y
* 乘 x*y
/ 除 x/y
% 模 x%y
^ 幂 x^y
--------------------------------------分割线 --------------------------------------
如何在Linux中使用awk命令
--------------------------------------分割线 --------------------------------------