Linux下awk内置变量怎么用

78次阅读
没有评论

共计 1127 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍 Linux 下 awk 内置变量怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

awk 内置变量包括:

FILENAME : 当前输入文件名称

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

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

OFS : 输出字段分隔符

FS : 输入字段分隔符

ORS : 输出记录分隔符

RS : 输入记录分隔符

FILENAME :

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

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

awk 统计行数:

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

awk 统计文件中的字段数:

$ 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

使用 OFS 内置变量:

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

以上是“Linux 下 awk 内置变量怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1127字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)