AWK工具快速入门

叁歲伎倆 2023-09-26 20:06 8阅读 0赞

AWK工具快速入门

  • AWK的介绍
  • 语法
  • 参数
  • 举例说明
  • AWK的内建变量
    • FS使用实例
    • NF使用实例

AWK的介绍

AWK是一个特定领域的语言被用于文本处理,并且被用于典型的数据提取和报告工具。

和sed,grep一样,它是一个过滤器,并且它是大多数Unix-like操作系统的标准特性。

AWK语言是一种数据驱动的脚本语言,由一系列的操作组成,这些操作被用于应对文本数据的流或者是被用于文件或者管道中。它的目的是为了提取和转换文本。比如生成格式化的报告。关联数组以及使用了正则化表达式。

语法

  1. awk [options] 'script' var=value file(s)

我们使用一个或者多个文件来进行阅读,可以从左往右进行阅读。我们可以输入一个或者多个文件进行处理。

文件通过这个脚本进行处理。在处理这些脚本之前,我们可以定义一些变量。这些变量可以直接用在这些脚本中。

最后通过这个脚本处理,过后我们可以将这个结果通过awk打印出来。

参数

-v var=value
v代表初始化一些参数,这里参数的说明和上方语法中的参数说明是一样的。

-F[separator]
-F指的是读入这个文件的时候是以什么分隔符进行分隔和操作的。默认我们以空格和制表位进行分隔。

-f[script name][file names…]
-f这个参数用于将script改变为一个文件名称。文件的内容就是相应的脚本。

举例说明

现在有一个关于汇率信息的文件:
在这里插入图片描述
如果我们想要更好地阅读他,提取中间的关键信息,假设我们现在想看他的1,3,5三行,那么可以这样做:
在这里插入图片描述
换成制表符:
在这里插入图片描述
可以看到,他的间隔就更加大一些了。可阅读性也更好了一些。

如果我们现在想要阅读他全部的阅读信息:
在这里插入图片描述
可以看到,所有的信息都被打印出来了。

找出第三列中大于500的值:
在这里插入图片描述

AWK的内建变量

$0 完整的输入记录
FS 字段分隔符(默认是任何空格)
NF 一条记录的字段的数目(也就是有多少列)
NR 行号,从1开始计数
OFS 输出字段分隔符(打印在显示屏上,划分的符号)

FS使用实例

在这里插入图片描述
在这里插入图片描述
这说明最初的文本分隔符就为空格,所以他能将这个文本的AWK操作进行正确的打印。

如果改为了逗号:
在这里插入图片描述
由于第一行没有任何的逗号作为分隔,所以这一整行被视为一个信息。

NF使用实例

前面的数字就是column数:
在这里插入图片描述
前面的数字是行数:
在这里插入图片描述
将空格改成制表符进行分隔:
在这里插入图片描述
参考资料:AWK工具快速入门

发表评论

表情:
评论列表 (有 0 条评论,8人围观)

还没有评论,来说两句吧...

相关阅读

    相关 awk入门

    awk简介          awk是个数据处理工具,作用于一整行的处理,类似于sed。不过awk倾向于把一行分成数个“字段”来处理。是个强大的报告生成工具。 a

    相关 awk工具

    一. awk工具介绍 1. 相比sed用来处理一行数据,awk比较倾向将一行分成几个“字段”来处理。 2. awk命令的格式 awk 'BEGIN\{\} \

    相关 AWK入门学习

    AWK入门学习 AWK简介 用AWK,起码要知道它是什么。AWK是贝尔实验室于1977年研发处理文本文件的语言,是一个强大的文本处理、分析工具。我们在日常开发中排查

    相关 awk 入门教程

    awk 入门教程 阮一峰 awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。 它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CS

    相关 异步校验工具awaitility快速入门

    1.背景 在编写自动化测试用例过程中,往往会遇见被测代码有异步或者队列处理的中间过程;如果需要校验这部分结果,必须等待异步操作结束或队列消费完,而这个中间等待的时间是不确定