linux基础--awk文本分析工具详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础--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 ‘{pattern + action}‘ {filenames}

尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用斜杠括起来。


示例

#输出df第一个字段
[[email protected] ~]# df -Ph |awk ‘{print $1}‘
#输出df第一个和第三个字段
[[email protected] ~]# df -Ph |awk ‘{print $1,$3}‘
#输出df最后一个字段
[[email protected] ~]# df -Ph |awk ‘{print $NF}‘
#输出/var/log/messages中以:分割的最后一个字段
[[email protected] ~]# awk -F ‘:‘ ‘{print $NF}‘ /var/log/messages


本文出自 “亮公子” 博客,请务必保留此出处http://iyull.blog.51cto.com/4664834/1886353

以上是关于linux基础--awk文本分析工具详解的主要内容,如果未能解决你的问题,请参考以下文章

linux awk命令详解(转)

Linux之awk详解

linux awk详解

linux awk 命令详解

Linux下的awk用法详解

linux awk命令详解