2、AWK部份内置变量:
FILENAME 当前文件名
FNR当前文件的总共记录数
FS输入的字段分隔符
NF当前记录的字段数目
NR到目前为止,读入的记录数目
OFS输出文件的字段分隔符
ORS输出文件的记录分隔符
RS输入记录的分隔符
3、/ETC/RESOLV.conf文件是SCO的域名解释配置文件,格式:NAMESERVER IP地址,另外,必须在用户
的.PROFILE文件里面加上一句,HOSTRESORDER="local nis bind";export HOSTRESORDER,这句话,是
设置在主机解释域名的搜索顺序,先是本机,然后是NIS,再是DNS。
4、在AWK中,数组的下标可以是数字,也可以是字符串,如,arr[1]或者是arr[sales]。
5、split(string,arr,fs)函数可以把字符串STRING以FS为分隔符分解成为一个个的数组元素,放到ARR中。
6、delete arr [subscript]删除数组ARR[subscript]元素。
7、在AWK中,for( i in arr) statements是一个FOR循环。
8、if (expression) statement1 [else statment2];
9、expression1
while(expression2)
{statement1;expression3}
10、do {statement} while (expression)
11、NEXT是强迫AWK读入下一个记录,进行处理
12、在AWK中,PRINT或者是PRINTF输出表达式中如果有关系比较符号(如大于>),则需要把PRINT或者是
PRINTF用圆括号括起来,如print $0,($2 > $3)是打印记录,随后是1或者0;但是如果是print $0,$2 >$3则
是打印整条记录,第二个字段到文件名为$3的文件中去。
13、在AWK中,可以用CLOSE关闭一个文件(CLOSE(filename));关闭一个管道(close(command_line));
14、在AWK中,输入可以用以下几种方式:
< filename
getline
getline <file
getline x <file
command | getline
command | getline x
如果GETLINE正确,则返回1,文件结束返回0,出错返回-1。
15、在AWK中的一些字符处理函数:
gsub(r,s,t)以字符S替换满足正则表达式R的字符串T中R。
index(s,t)在字符串S中查找字符串T第一次出现的位置,没有则返回零。
legnth(s)测字符串S的长度。
match(s,re)在字符串S中查找正则表达式RE的第一次出现的位置,如果有则返回,同时置RSTART为
该数字;如果没有则返回0。
split(string,arr,fs)见前面。
sprintf(format,expression,expression1,...)
sub(r,s,t)以s替换字符串T中的R。
substr(s,p)取字符中S从位置P开始的字符串。
substr(s,p,n)取字符中S从位置P开始的N个字符。
tolower(s)
toupper(s)
在字符处理函数中,如果被处理字符串为空,则缺省值是$0。
16、在AWK中,还可以用system(command_line)运行系统命令。
17、还可以自定义函数:
function name(parameter_list){statements}其中,parameter_list是以逗号分隔的变量组合。在函数
中如果变量少于定义的数字,则少的设为空;多的则被忽略。为了在函数中有返回值,必须在函数中有一
句return expression
18、在AW中,如果要强制转换一个变量的类型,则需要number ""是强制number变量为字符型变量。
19、在AWK中,把一个字符型变量强制转换成数值型,则需要string+0。
20、AWK程序成功执行返回0,否则返回>0
21、在正则表达式中,",[ \t]* | [ \t]+"表示以,号和(或者)与空格空行的记录,或者是完全就是空格或者
空行。在正则表达式中*代表任意字符,+代表前缀字符的一个或者任意多个的组合。
studio99 回复于:2003-08-27 09:31:06 |
找了你好久了 |
yychs 回复于:2003-08-24 17:10:52 |
very good. |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/