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
时间: 2024-12-11 17:56:51

linux基础--awk文本分析工具详解的相关文章

Linux 之 awk文本分析工具

AWK是一种处理文本文件的语言,是一个强大的文本分析工具.Linux环境中自带. awk调用方法 命令行 awk [-F field-separator] 'commands' input-file(s) shell脚本方式 #!/bin/sh awk脚本方式 `#!/bin/awk awk -f 脚本文件 待处理文件 原文地址:https://www.cnblogs.com/yoyoyang/p/11822965.html

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)

此篇将重点介绍几种常用的Android性能分析工具: 一.Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗.当我们打开一个Activity的时候,log会打印一串log如下: I/ActivityManager﹕ Displayed xxx.xxx.xxx/TestActivity: +1s272ms (total +3s843ms) 第一个时间表示系统接受到打开的intent到TestActivity界面显示出来的时间1.272秒

Linux 基础之文本搜索工具grep

一.grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep grep: 默认支持基本正则表达式: egrep: 扩展正则表达式: fgrep: 不支持正则表达式元字符,搜索字符串的速度快 二.通过man手册获取grep帮助信息: #man grep GREP(1)                     

Linux基础知识之echo命令详解

echo命令 功能:显示字符 语法:echo [-neE][字符串] 说明:echo 会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开,  并在最后加上换行号 echo "$VAR_NAME":  变量会替换,双引号表弱引用 echo '$VAR_NAME':  变量不会替换,强引用 $echo –e "Enter the file name: \c" echo  需要使用-e  参数来打印转义字符. echo命令选项: -n:不在字符的最后,自动换行 -

文本处理工具详解

一.cat命令 cat:文件查看 格式:cat [OPTION]...[FILE].. OPTION: -E:显示行结束符$: -n: 对显示出的每一行进行编号: -A:显示所有控制符: -b:非空行编号: -s:压缩连续的空行成一行: -T显示制表符: tac:逆向显示文件内容,与cat命令相反: rev:行文件内容逆向显示: eg1:显示所有控制符 eg2:显示制表符 eg3:显示行号 eg4:压缩空行成一行 eg5:非空行编号 eg6:tac:逆向显示文件内容 eg7:逆向显示行文件内容

Linux基础之sed流编辑器详解

之前介绍了三大文本编辑器的grep,这里介绍比grep功能更强的sed流编辑器 sed是什么? sed是Stream EDitor的缩写,man中对sed的简洁为 sed - stream editor for filtering and transforming text 它的主要功能是对文本的过滤与替换. sed的工作原理 sed的工作过程:sed是一个流编辑器,所谓流编辑器是指sed每次只从文件或stdin中读入一行,将读入的行保存至模式空间然后根据指定的要求对其进行处理,并将处理后的结果

linux基础篇-17,find命令详解

文件查找: locate:非实时查找,模糊匹配,查找根据全系统文件数据库进行,速度快 updatedb:手动生成文件数据库 find:实时,准确,支持众多查找标准,遍历指定目录中的所有文件完成查找,书店慢 find 查找路径 查找标准 查找到一行的处理动作 查找路径:默认为当前目录 查找标准:默认为指定文件下的所有文件 处理动作:默认为显示 匹配标准:-name 'filename':对文件名做精确匹配 文件名通配:"" * ? [] -iname filename:文件名匹配不区分大

Linux命令:文本处理工具awk详解一

awk命令简介: awk是一个强大的文本分析工具,通常,awk是以文件的每一行,为处理单位的.awk每接收文件的一行,然后执行相应的命令,来处理文本.  1.命令格式: awk 'pattern {action}'{filenames} 其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所 执行的一系列命令.花括号({})不需要在程序中始终出现,但它们用于根据特定的 模式对一系列指令进行分组. pattern就是要表示的正则表达式,用斜杠括起来. 调用a