Awk 表达式与系统变量全解析
1. 表达式基础
表达式在数据处理中十分关键,可用于存储、操作和检索数据,这与 sed 有所不同,但却是大多数编程语言的常见特性。表达式经计算后会返回一个值,它由数字和字符串常量、变量、运算符、函数和正则表达式组合而成。
1.1 常量
常量有两种类型:字符串和数字。在表达式中,字符串必须用引号括起来,并且可以使用转义序列,如下表所示:
| 序列 | 描述 |
| — | — |
| \a | 警报字符,通常是 ASCII BEL 字符 |
| \b | 退格符 |
| \f | 换页符 |
| \n | 换行符 |
| \r | 回车符 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \ddd | 以 1 到 3 位八进制值表示的字符 |
| \xhex | 以十六进制值表示的字符 |
| \c | 任何文字字符 c(例如," 表示 “) |
1.2 变量
变量是引用值的标识符。定义变量时,只需命名并赋值。变量名只能包含字母、数字和下划线,且不能以数字开头,大小写敏感。变量无需声明,每个变量都有字符串值和数值,awk 会根据表达式上下文使用合适的值。未初始化的变量会自动初始化为空字符串,用作数字时相当于 0。示例如下:
x = 1 z = "Hello"1.3 运算符
表达式中可使用多种运算符,常见的算术运算符如下: