可以使用表达式来存储、操作和检索数据,这些操作与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 |
参考资料:http://www.linuxawk.com/communication/471.html
时间: 2024-10-22 15:04:15