awk

Posted yutb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk相关的知识,希望对你有一定的参考价值。

1. AWK 工作流程可分为三个部分:

  • 读输入文件之前执行的代码段(由BEGIN关键字标识)。
  • 主循环执行输入文件的代码段。
  • 读输入文件之后的代码段(由END关键字标识)。

AWK 从输入流(文件、管道或标准输入)中读入一行然后将其放在内存中。以行为单位,每读取一行使用 pattern commands  循环处理。

2. 语法格式

awk [options] BEGIN commands  pattern commands  END commands 

options 选项:

  • -f progfile    从脚本文件中读取 awk 命令
  • -F fs         指定输入分隔符
  • -v var=val   在执行前自定义变量

分隔符分隔的字段称为域,用 $0,$1,...,$n 表示,其中 $0 表示所有域,$1 表示第一个域,以此类推。

3. 内置变量

变量 说明
FS 输入字段分隔符,默认为任意空格,相当于-F
RS 输入记录分隔符,默认为一个换行符。
NF 字段数,在执行过程中对应于当前的字段数。
NR 记录数,在执行过程中对应于当前的行号。
OFS 输出字段分隔符,默认为一个空格。
ORS 输出记录分隔符,默认为一个换行符。
ARGC 命令行参数的个数
ARGV 包含命令行参数的数组
FNR 当前文件记录数,同NR

以上是关于awk的主要内容,如果未能解决你的问题,请参考以下文章

AWK

AWK用法详解

linux awk

Linux-AWK

新awk整理

awk编程