阅 读 文 章

AWK程序

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(unixgood) | 时间:2007-05-27 | 浏览:人次 ]


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是以逗号分隔的变量组合。在函数
中如果变量少于定义的数字,则少的设为空;多的则被忽略。为了在函数中有返回值,必须在函数中有一
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 程序 AWK 文件 字符 字符串 记录 返回 一个 或者 如果

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.