62. 变量
awk 变量应以字母字符开头, 其余字符可以是数字、字母或下划线。 关键字不能用作 awk 变量名。
与其他编程语言不同,您不需要声明变量即可使用它。 如果您希望初始化 awk 变量,最好在 BEGIN
部分进行,该部分仅执行一次。
Awk 中没有数据类型。 awk 变量是数字还是字符串取决于使用该变量的上下文。
employee-sal.txt
是一个逗号分隔的文件,包含 5 条员工记录,格式如下:
employee-number,employee-name,employee-title,salary
创建文件:
$ vi employee-sal.txt
101,John Doe,CEO,10000
102,Jason Smith,IT Manager,5000
103,Raj Reddy,Sysadmin,4500
104,Anand Ram,Developer,4500
105,Jane Miller,Sales Manager,3000
以下示例演示如何在 awk 脚本中创建和使用您自己的变量。 在此示例中,"total"
是用户定义的 Awk 变量,用于计算公司中所有员工的总工资。
$ cat total-company-salary.awk
BEGIN {
FS=",";
total=0;
}
{
print $2 "'s salary is: " $4;
total=total+$4
}
END {
print "---\nTotal company salary = $"total;
}
$ awk -f total-company-salary.awk employee-sal.txt
John Doe's salary is: 10000
Jason Smith's salary is: 5000
Raj Reddy's salary is: 4500
Anand Ram's salary is: 4500
Jane Miller's salary is: 3000
---
Total company salary = $27000