awk的变量应该以字母字符开始;字符的其他部分可以是数字或字母,或下划线。关键字不能被用作一个awk变量名。
不像其他的编程语言,你不需要声明一个变量再使用它,如果你想初始化一个awk变量,可以在BEGIN部分更好地做到这一点,这将执行一次。
在awk里没有数据类型。一个awk变量是否是数字型,还是字符串型依赖于在其中变量用的上下文。
employee-sal.txt例子文件
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