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循环

在这里插入图片描述

主要控制语句

在这里插入图片描述
例:
在这里插入图片描述


版权声明:本文为code_feien原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。