[awk实用例子.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[awk实用例子

awk实用例子 awk 的用法及注解?awk -F: condition dist //这里的:是指以:为分隔,如果不用-F则默认为空格 ?首先对解释?$0 //显示所有?$1 //显示第一列?$2 //显示第二列?$3 //显示第三列?$4 //显示第四列?......?在我个人理解和sed结合太完美了,这是按列哦。。。?[root@xiao_linux mybash]# cat fawk.a?1 xiao?25beijing?9000?2liuwenjing? 24beijing?5000?3weijianjun? 29????? shanghai?? ?8000?4wanmingyang 28beijing?5000??5tianzhiyu?25beijing?5500?6zhouhaoxing?23beijing?5000?ctrl+d?//以上建立一个文件来做相应的操作。?awk {print $2,$4} fawk.a //这里的意思是找到第二列及第四列的内容,并且显示出来。? 怎么样是不是很爽呢? awk BEGIN {printname address\n----------------}{print $1,$4} fawk.a 这就更爽了,意指加上头部内容 awk BIGIN {printname address\n------------} {print $1,$4} END {print content already end} fawk.a 这加了尾内容 如果要查找,可以用 awk {if($2~/wei/) print $0} fawk.a //这是精确查找 awk $0~/wei/ fawk.a //这条就OK了。awk $2==xiao { print $0} fawk.a awk $2==xiao { print $0} fawk.a //只匹配xiao awk $0!~/liu/ fawk.a //除了liu的都显示 awk $0~/[Ll]iu/ {print $1,$2 is my wife} fawk.a //查找出来的内容进行添加 awk {if($5=5500) print $1,$2,$5} fawk.a? awk $0~/(xiao|liu)/ fawk.a awk {if($2==xiao $3==beijing) print $0} fawk.a? awk {if($2==xiao || $2~/liu/) print $0} fawk.a awk的内置变量 NR //打印出文件的记录个数 awk {print $0} END {print 总共次数: NR} fawk.a ll | awk {print $0}END {print 总记录:NR} NF //显示每行记录中有多少条域,简单来理解就是有多少列 //同时还有一个强大的功能,请看例子: pwd /home/myfile echo $PWD | awk -F/ {print $NF}? //将取出文件名myfile/为分隔符 awk 操作符(,==,=.....不全介绍) ll | awk {name=$9;tt=$7;if(tt=13) print 文件名:name,$7,$9 } //注意用心体会一下,上面的东东 ll | awk BEGIN{NUMS=13}{if($7=NUMS) print $7,$9} //这一条命令也和上面同意思,可以看出可以在BEGIN中先定义一个变量,这是一个很不错的想法 还有就是域可以进行数值运算(数值域) $7=$7-1 //意指值减1 ll | awk {$10=$7+1;print $0} //注意上面的10域是新建的,本来是没有,意思是把7域中的数对应加1,然后赋到10域上,怎么样是不是很爽呢。 如果要统计某列的总值 ll | awk {total+=$7;print $7};END{print 总计:total} //统计第七列的总和 ll | awk {if($7=NUMS) print $7,$9} NUMS=13 //这是给赋值,当然你可以在前面定义变量,后面引用时$NUMS //也就是说允许环境变量 ll | awk total+=$5;END{print 总容量: total} awk 内置字符串函数 gsub(r,s) //$0 中,s替换r gsub(r,s,n) //$n 中,s替换r length(s)? //s的长度 index(s,t) //返回s中t的第一位置 match(s,t) //在s中查找t匹配的,t可以用正则表达式 查找成功返回值,不成功返回0 split(s,a,t) //t为分隔标准,s为字符,a为数组,a[1],a[2]

文档评论(0)

shit0605 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档