AWK
概述¶
一 个 awk 程序由一系列的模式和动作组成, 这些模式与动作说明了在输入中搜索哪些数据, 以及当符合条件的数据被找到时, 应该执行什么操作。
命令¶
awk 'program' input_files
awk -f progfile input_files
语法¶
程序结构¶
每一个 awk 程序都是由一个或多个 模式‒动作 语句组成的序列:
pattern { action }
内置数据类型¶
数值和由字符组成的字符串。
内置变量¶
行和字段¶
awk
从输入中每次读取一行,将行分解为一个个字段(默认将字段视为非空白符组成的序列)。
当前输入行记为 $0,第一个字段记为 $1,第二个记为 $2,依次类推。
特殊变量¶
- NF,字段的数量
- NR,行号
语句¶
- printf(format, v1, v2,...,vn)
模式¶
模式组合¶
模式可以使用括号和逻辑运算符进行组合, 逻辑运算符包括 &&, ||, 和 !, 分别表示 AND, OR, 和 NOT
特殊模式¶
- BEGIN
- END
应用¶
数据处理¶
multipass ls | awk '$1 ~ /^m$|^h[0-9]$/ { print $3,$1 }'
报表生成¶
最后更新: September 10, 2023