作家
登录

Linux下awk内置变量使用介绍

作者: 来源: 2017-08-06 12:48:22 阅读 我要评论

我们将逐渐揭开 awk 功能的神秘面纱,在本节中,我们将介绍 awk 内置built-in变量的概念。你可以在 awk 中应用两种类型的变量,它们是:用户自定义user-defined变量和内置变量。

我们将逐渐揭开 awk 功能的神秘面纱,在本节中,我们将介绍 awk 内置built-in变量的概念。你可以在 awk 中应用两种类型的变量,它们是:用户自定义user-defined变量和内置变量。awk 内置变量已经有预先定义的值了,但我们也可以谨慎地修改┞封些值.

awk 内置变量包含:

FILENAME : 当前输入文件名称

NR : 当前输入行编号(是指输入行 1,2,3……等)

NF : 当前输入行的字段编号

OFS : 输出字段分隔符

FS : 输入字段分隔符

ORS : 输出记录分隔符

RS : 输入记录分隔符

让我们持续演示一些应用上述 awk 内置变量的办法,想要攫取当前输入文件的名称,你可以应用 FILENAME 内置变量,如下:$ awk ' { print FILENAME } ' ~/domains.txt

你会看到,每一行都邑对应输出一次文件名,那是你应用 FILENAME 内置变量时 awk 默认的行动。我们可以应用 NR 来统计一个输入文件的行数(记录),谨记:它也管帐算空行,正如我们将要鄙人面的例子中看到的那样。 输出文件内容 当我们应用 cat 敕令查看文件 domains.txt 时,会发明它有 14 行文本和 2 个空行:$ cat ~/domains.txt

awk 统计行数:

  1. $ awk ' END { print "Number of records in file is: ", NR } ' ~/domains.txt 

awk 统计文件中的字段数:

  1. $ awk '{ "Record:",NR,"has",NF,"fields" ; }' ~/names.txt 

FS 内置变量:

你也可以应用 FS 内置变量指定一个输入文件分隔符,它会定义 awk 若何将输入行划分成字段。FS 默认值为“空格”和“制表符”,但我们也能将 FS 值修改为任何字符来让 awk 根据情况切分输入行。有两种办法可以达到目标:第一种办法是应用 FS 内置变量;第二种办法是应用 awk 的 -F 选项。来看 Linux 体系上的 /etc/passwd 文件,该文件中的各字段是应用 冒号(:) 分隔的,是以,当我们想要过滤出某些字段时,可以将冒号(:) 指定为新的输入字段分隔符, awk 过滤暗码文件中的各字段 . 我们可以应用 -F 选项,如下:$ awk -F':' '{ print $1, $4 ;}' /etc/passwd


此外,我们也可以应用 FS 内置变量,如下:$ awk ' BEGIN { FS=“:” ; } { print $1, $4 ; } ' /etc/passwd

FILENAME :

应用 OFS 内置变量:

应用 OFS 内置变量来指定一个用于输出的字段分隔符,它会定义若何应用指定的字符分隔输出字 段 应用 awk输出的分隔符: $ awk -F':' ' BEGIN { OFS="==>" ;} { print $1, $4 ;}' /etc/passwd

在本节中,我们已经进修了应用含有预定义值的 awk 内置变量的理念。但我们也可以或许修改┞封些值,固然并不推荐如许做,除非你眉僮霸己在做什么,并且充分懂得(这些变量值)。

此后,我们将持续进修如安在 awk 敕令操作中应用 shell 变量,所以,请持续存眷我们。

【编辑推荐】

  1. 应用Kdump检查Linux内核崩溃
  2. 设置Linux过程的睡眠和唤醒
  3. 若何保护Ubuntu 16.04上的NGINX Web办事器
  4. 体系治理员应当知道的20条Linux敕令
  5. Windows 10 Build 16257宣布:支撑眼球交互操作
【义务编辑:枯木 TEL:(010)68476606】

  推荐阅读

  Windows 10 Build 16257发布:支持眼球交互操作

今天微软面向Windows Insider项目标Fast通道用户宣布了Windows 10 Build 16257版本更新,距离上个版本Build 16251更新相隔一周的时光,并且重点是分支已经大年夜“rs_prerelease&rd>>>详细阅读


本文标题:Linux下awk内置变量使用介绍

地址:http://www.17bianji.com/lsqh/36557.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)