linux学习笔记:awk文本过滤器
有关awk
- awk是一种模式扫描及处理语言的工具
- awk是创始人Aho、Weinberger、Kernighan三人名字的缩写
- 基于模式匹配检查输入的文本,逐行处理并print结果
- 目前最常用的实际是GNU的gawk
基本用法
格式与变量
- 格式1:前置命令 | awk [选项] ‘[条件]{编辑命令}’
- 格式2:awk [选项] ‘[条件]{编辑命令}’ 文件
- 注:若有多条编辑命令,可以用分号分割
例:输出以冒号作为分割的第一列和第二列,-F选项用于指定分隔符
常用命令选项:
- -F:指定分隔符,可省略(默认空格或者tab位)
- -f:调用awk脚本进行处理
- awk内置变量
内置变量使用示例:
awk处理时机
- 行前处理,BEGIN{}:一般用于预处理
- 逐行处理,{}
- 行后处理,END{}:一般用于输出结果
awk处理条件
条件如何表示
- 格式回顾: awk [选项] ‘[条件]{编辑命令}’ 文件
- 条件的表现形式:
-正则表达式
-数值/字符串比较
-逻辑比较
-运算符
例:使用正则表达式:
例:数值比较
例:逻辑比较
例:运算符
awk流程控制
if分支
例:
while分支
例:
for循环
主要控制语句
例: