内容简介:在 linux 或 *nix 中 awk 、sed、grep 统称为文本处理三剑客。awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。
在 linux 或 *nix 中 awk 、sed、grep 统称为文本处理三剑客。
awk
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。
awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据 排序 、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
使用
awk 其实是 gawk 的一个连接
[root@OpenStack ~]# which awk /bin/awk [root@OpenStack ~]# cd /bin/ [root@OpenStack bin]# ll awk lrwxrwxrwx. 1 root root 4 3月 14 19:39 awk -> gawk
用法
awk [options] 'program' {filenames}
program格式:’{pattern + action}’ 语句之间用分号分割
选项:
-F 指明输入时用到的字段分隔符
-v 用于实现自定义变量,格式:var=value
##awk 的实现方式
awk 会把需要处理的文本进行切片,切割成片段后 可以使用$1-$n 的方式来显示切割后的行,第一行为$1,第二行为$2,以此类推,全文输入则使用$0,此外,处理完毕后,我们还可以加入条件判断,总的来说 awk 其实也是一门编程语言。
1.打印第一行
[root@OpenStack bin]# awk '{print $1}' /etc/fstab
我们可以使用 print 输出某行,格式是print item1,item2,…
2.打印多行
[root@OpenStack bin]# awk '{print $1,$3}' /etc/passwd
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 文本三剑客之AWK
- 监控三剑客之Nagios
- Linux三剑客之awk详解
- 监控三剑客<cacti、nagios、zabbix>
- 安卓AOP三剑客:APT,AspectJ,Javassist
- 容器技术|Docker三剑客之docker-swarm
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。