AWK NF用法指南:AWK 脚本语言也有一系列内置的特殊变量来服务于一些预定义的目的。一个这样的内置变量是“NF”,它有自己的预定义功能。本文将通过在 Ubuntu 20.04 中演示一些相关示例来探索这个内置 AWK 变量的用途。如何使用AWK NF?下面有几个详细的示例。
Ubuntu 20.04 中的 AWK NF:“NF”AWK 变量用于打印任何提供的文件的所有行中的字段数。这个内置变量逐行遍历文件的所有行,并分别打印每一行的字段数。要很好地理解此功能,你必须通读下面讨论的示例。
演示在 Ubuntu 20.04 中使用 AWK NF 的示例:以下四个示例旨在以一种非常易于理解的方式教你使用 AWK NF。所有这些示例都是使用 Ubuntu 20.04 操作系统实现的。
AWK NF用法示例 # 1:打印文本文件每一行的字段数:在这个例子中,我们想打印 Ubuntu 20.04 中文本文件的每行或每行或记录的字段或列数。为了向你展示这样做的方法,我们创建了下图所示的文本文件。该文本文件包含来自巴基斯坦五个不同城市的每公斤苹果的比率。
文章图片
$ awk ‘{print NF}’ AppleRates.txt
在这个命令中,我们有“awk”关键字,表明我们正在运行一个 AWK 命令,后跟“print NF”语句,该语句将简单地遍历目标文本文件的每一行,并将分别打印每个字段的数量文本文件的行。最后,我们有该文本文件的名称(要计算其字段),在我们的例子中是“AppleRatest.txt”。
文章图片
由于我们的文本文件的所有五行的字段数完全相同,即 2,因此由于执行此命令,打印的数字与所有文本文件行的字段数相同。这可以从下图看出:
文章图片
$ awk ‘{print NR, “---”, NF}’ AppleRates.txt
在这个命令中,我们引入了内置的 AWK 变量“NR”,它会简单地打印目标文本文件所有行的行号。此外,我们使用了三个破折号“—”作为特殊字符来将行号与我们提供的文本文件的字段数分开。
文章图片
下图显示了对同一文本文件稍加修改的输出:
文章图片
AWK NF用法示例#3:打印文本文件每一行的第一个和最后一个字段:AWK NF用法指南:除了只计算提供的文本文件所有行的字段数外,AWK 的“NF”特殊变量还可用于从提供的文本文件中提取最后一个字段的实际值。同样,我们使用了与前两个示例中使用的文本文件完全相同的文本文件。但是,在此示例中,我们希望打印文本文件的第一个和最后一个字段的实际值。为此,我们执行了以下命令:
$ awk ‘{print $1, $NF}’ AppleRates.txt
在此命令中,“awk”关键字后跟“print $1, $NF”语句。“$1”特殊变量已用于打印我们提供的文本文件的第一个字段或第一列的值,而“$NF”AWK 变量已用于打印最后一个字段或最后一列的值我们的目标文本文件。这里需要注意,当我们原样使用“NF”AWK变量时,它是用来统计每一行的字段数;但是,当它与美元“$”符号一起使用时,它将简单地从提供的文本文件的最后一个字段中提取实际值。命令的其余部分与前两个示例中使用的命令大致相同。
文章图片
在下面显示的输出中,你可以看到我们提供的文本文件的第一个和最后一个字段中的实际值已打印在终端上。你可以看到这个输出与“cat”命令的输出非常相似,仅仅是因为我们提供的文本文件中只有两个字段;因此,在某种程度上,作为执行上述命令的结果,我们整个文本文件的内容都打印在终端上。
文章图片
文章图片
为了区分缺少字段的记录和具有完整字段的记录,我们将执行如下所示的命令:
$ awk ‘{print NR, “--->”, NF}’ ExamMarks.txt
文章图片
此命令与我们在第二个示例中使用的命令相同。但是,从下图中显示的此命令的输出中,你可以看到第一条和第四条记录是完整的,而第二条、第三条和第五条记录包含缺失的字段。
文章图片
推荐阅读
- 如何在Ubuntu上安装反恐精英(详细步骤图解)
- 如何在MySQL中使用SELECT INTO TEMP表语句(用法解析)
- 如何使用mysqli_real_escape_string函数(用法解析)
- 如何使用MySQL COALESCE函数(用法详解)
- MySQL中的datediff是什么(如何使用?)
- MySQL与MongoDB比较(MySQL与MongoDB有什么区别())
- Android攻城狮datePicke&timePicker
- ionic APP二维码插件 地址
- Android PullToZoomListView实现放大回弹效果