文本处理三剑客之 awk

栏目: 服务器 · 发布时间: 7年前

内容简介:在 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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件测试的艺术

软件测试的艺术

梅尔斯 / 机械工业出版社 / 2006年01月 / 22.0

《软件测试的艺术》(原书第2版)成功、有效地进行软件测试的实用策略和技术:    基本的测试原理和策略      验收测试    程序检查和走查         安装测试    代码检查            模块(单元)测试    错误列表            测试规划与控制    同行评分            独立测试机构    黑盒、白盒测试    ......一起来看看 《软件测试的艺术》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具