博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux基础--awk文本分析工具详解
阅读量:7124 次
发布时间:2019-06-28

本文共 900 字,大约阅读时间需要 3 分钟。

简介

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。


使用方法

1
awk 
'{pattern + action}' 
{filenames}


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

示例

1
2
3
4
5
6
7
8
#输出df第一个字段
[root@localhost ~]
# df -Ph |awk '{print $1}'
#输出df第一个和第三个字段
[root@localhost ~]
# df -Ph |awk '{print $1,$3}'
#输出df最后一个字段
[root@localhost ~]
# df -Ph |awk '{print $NF}'
#输出/var/log/messages中以:分割的最后一个字段
[root@localhost ~]
# awk -F ':' '{print $NF}' /var/log/messages
本文转自  亮公子  51CTO博客,原文链接:http://blog.51cto.com/iyull/1886353

转载地址:http://pzoel.baihongyu.com/

你可能感兴趣的文章
【node.js】REPL(交互式解释器)
查看>>
python中实现多线程的几种方式
查看>>
3DSMAX安装未完成,某些产品无法安装的解决方法
查看>>
写给对MCU感兴趣的读者
查看>>
庆祝访问过百万
查看>>
leetcode 4. Median of Two Sorted Arrays
查看>>
树与二叉树(一)
查看>>
Tomcat 学习进阶历程之Tomcat架构与核心类分析
查看>>
Wps 2013 拼音标注两种方式分析
查看>>
dedecms列表页文章有图调用缩略图 无图留空或自定义图片的方法!
查看>>
安装mysql 5.7.19.0 之前要安装的东西
查看>>
2017-2018-1 20155303 《信息安全系统设计基础》第九周学习总结
查看>>
Android 开源框架 ( 六 ) Volley --- Google的轻量级网络通信框架
查看>>
iOS编码规范(简版)
查看>>
【Noip2016】天天爱跑步
查看>>
采集Snoopy.class.php
查看>>
mac使用phpize进行安装的时候碰到的问题
查看>>
网络共享打印机配置
查看>>
Oracle约束状态
查看>>
ogg单向同步配置
查看>>