千家信息网

awk命令如何使用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天小编给大家分享一下awk命令如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
千家信息网最后更新 2026年11月02日awk命令如何使用

今天小编给大家分享一下awk命令如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

Awk模式

Awk支持不同类型的模式,包括正则表达式、关系表达式、范围和特殊表达式模式。

在下面的例子中,将创建一个名为" teams.txt"的文件,文件内容如下:

[root@localhost ~]# cat teams.txtBucks Milwaukee    60 22 0.732Raptors Toronto    58 24 0.70776ers Philadelphia 51 31 0.622Celtics Boston     49 33 0.598Pacers Indiana     48 34 0.585

正则表达式模式

Awk的正则表达式模式用斜线(//)包含起来,例如:要显示包含"0.5"的每条记录,可以运行以下命令:

[root@localhost ~]# awk '/0.5/ {print $0}' teams.txtCeltics Boston     49 33 0.598Pacers Indiana     48 34 0.585

要显示包含"0.5"的每条记录的第一个和第二个字段:

[root@localhost ~]# awk '/0.5/ {print $1,$2}' teams.txtCeltics BostonPacers Indiana

显示一个或者多个数字开头的记录,并打印第一列:

[root@localhost ~]# awk '/^[0-9]/ {print $1}' teams.txt76ers

关系表达式模式

关系表达式模式通常用于匹配特定字段或变量的内容。 常用的关系运算符有:

  • ~:包含
  • !~:不包含
  • >:大于
  • :小于
  • >=:大于等于
  • :小于等于
  • =:等于
  • !=:不等于

使用~"包含"比较运算符。例如,显示第二个字段中包含"ia"字符的每条记录:

[root@localhost ~]# awk '$2 ~ /ia/ {print $0}' teams.txt76ers Philadelphia 51 31 0.622Pacers Indiana     48 34 0.585

若要匹配不包含给定字符的记录,可以使用!~不包含操作符。例如,显示第二个字段中不包含"ia"字符的每条记录:

[root@localhost ~]# awk '$2 !~ /ia/ {print $0}' teams.txtBucks Milwaukee    60 22 0.732Raptors Toronto    58 24 0.707Celtics Boston     49 33 0.598

使用!="不等于"操作符

使用>="大于等于"操作符,显示第四个字段大于等于30的记录:

[root@localhost ~]# awk '$4 >= 30 {print $0}' teams.txt76ers Philadelphia 51 31 0.622Celtics Boston     49 33 0.598Pacers Indiana     48 34 0.585

范围模式

范围模式由逗号分隔的两组字符组成,从与第一个字符串匹配的记录开始,直到与第二个字符串的记录匹配为止的所有记录。

例如,显示从"Raptors"到 "Celtics"在内的记录,:

[root@localhost ~]# awk '/Raptors/,/Celtics/ {print $0}' teams.txtRaptors Toronto    58 24 0.70776ers Philadelphia 51 31 0.622Celtics Boston     49 33 0.598

范围模式也可以使用关系表达式,例如,显示第四个字段等于31到第四个字段等于34 的记录:

[root@localhost ~]# awk '$4 == 31 , $4 == 34 {print $0}' teams.txt76ers Philadelphia 51 31 0.622Celtics Boston     49 33 0.598Pacers Indiana     48 34 0.585

特殊表达式模式

Awk包括以下特殊模式。

  • BEGIN:在处理记录之前执行此操作。
  • END:用于在处理记录之后执行此操作。

BEGIN模式通常用于设置变量,END模式用于处理统计的数据。例如,下面将显示"Start Processing.",然后显示第三个字段,最后显示"End Processing.":

[root@localhost ~]# awk 'BEGIN {print "Start Processing."};{print $3};END {print "End Processing."}' teams.txtStart Processing.6058514948End Processing.

内置变量

Awk有许多内置变量,允许控制程序的处理方式。下面是一些常见的内置变量:

  • NF:记录中的字段数
  • NR:当前记录的编号
  • FILENAME:当前正在处理的输入文件名称
  • FS:字段分隔符
  • RS:记录分隔符
  • OFS:输出字段分隔符
  • ORS:输出记录分隔符

下面是一个显示如何打印文件名和行数的示例:

[root@localhost ~]# awk 'END {print "File" , FILENAME , "contains" , NR , "lines."}' teams.txtFile teams.txt contains 5 lines.

以上就是"awk命令如何使用"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

模式 字段 表达式 字符 变量 处理 内容 分隔符 文件 知识 篇文章 范围 命令 特殊 操作符 正则 不同 字符串 运算符 面的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 上海互联网科技有限公司 互联网科技视频 丰台科技园 互联网 奔汉互联网科技 太原新华互联网科技学校怎么样 互联网教育科技公司vipkid 阿里互联网科技公司 互联网科技公司实习生 移动互联网科技公司 互联网新科技动漫ppt素材 中国互联网公司排名锤子科技 山东子淼互联网科技有限公司 互联网科技快讯热点 互联网公司属于科技吗 互联网金融运营模式中的金融科技 互联网科技品牌 恒生科技指数 中概互联网 科技美学互联网 艺术 利用互联网等科技手段 百单网互联网科技有限公司 科技互联网公司装修 苏州大垚互联网科技 洛阳昕诺飞互联网科技有限公司 米聚互联网科技南京有限公司排面 国大互联网教育科技有限公司薪资 广州千川互联网科技有限公司 四川互联网展示科技馆设计 工业互联网科技创业 福仕德教育科技互联网
0