栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

请你来说一下awk的使用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

请你来说一下awk的使用

参考回答:

1)作用:

样式扫描和处理语言。它允许创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

2)用法:

awk [-F field-separator] 'commands' input-file(s)

3)内置变量

ARGC命令行参数个数ARGV命令行参数排列ENVIRON支持队列中系统环境变量的使用FILENAMEawk浏览的文件名FNR浏览文件的记录数FS设置输入域分隔符,等价于命令行 -F选项NF浏览记录的域的个数NR已读的记录数OFS输出域分隔符ORS输出记录分隔符RS控制记录分隔符

4)实例:

1、找到当前文件夹下所有的文件和子文件夹,并显示文件大小

> ls -l | awk '{print $5 "t" $9}'

读入有'n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域。$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键"。

2、找到当前文件夹下所有的文件和子文件夹,并显示文件大小,并显示排序

> ls -l | awk 'BEGIN {COUNT = -1; print "BEGIN COUNT"}{COUNT = COUNT + 1; print COUNT"t"$5"t"$9}END {print "END, COUNT = "COUNT}'

先处理BEGIN, 然后进行文本分析,进行第二个{}的操作,分析完进行END操作。

3、找到当前文件夹下所有的子文件夹,并显示排序

> ls -l | awk 'BEGIN {print "BEGIN COUNT"} /4096/{print NR"t"$5"t"$9}

END {print "END"}'

* /4096/ 正则匹配式子

* 使用print $NF可以打印出一行中的最后一个字段,使用$(NF-1)则是打印倒数第二个字段,其他以此类推。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366181.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号