• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

AWK程序

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 35次 | 进入软件测试论坛讨论

领测软件测试网
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/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网