跳转至

AWK

概述

一 个 awk 程序由一系列的模式和动作组成, 这些模式与动作说明了在输入中搜索哪些数据, 以及当符合条件的数据被找到时, 应该执行什么操作。

命令

awk 'program' input_files

awk -f progfile input_files

语法

程序结构

每一个 awk 程序都是由一个或多个 模式‒动作 语句组成的序列:

pattern { action }

内置数据类型

数值和由字符组成的字符串。

内置变量

行和字段

awk 从输入中每次读取一行,将行分解为一个个字段(默认将字段视为非空白符组成的序列)。

当前输入行记为 $0,第一个字段记为 $1,第二个记为 $2,依次类推。

特殊变量

  • NF,字段的数量
  • NR,行号

语句

  • print
  • printf(format, v1, v2,...,vn)

模式

模式组合

模式可以使用括号和逻辑运算符进行组合, 逻辑运算符包括 &&, ||, 和 !, 分别表示 AND, OR, 和 NOT

特殊模式

  • BEGIN
  • END

应用

数据处理

multipass ls | awk '$1 ~ /^m$|^h[0-9]$/ { print $3,$1 }'

报表生成


最后更新: September 10, 2023

评论