登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

AWK概要  

2009-08-07 17:15:31|  分类: shell |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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]+"表示以,号和(或者)与空格空行的记录,或者是完全就是空格或者
空行。在正则表达式中*代表任意字符,+代表前缀字符的一个或者任意多个的组合。

 

  评论这张
 
阅读(528)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018