awk命令如何使用(awk,开发技术)

时间:2024-05-06 23:41:17 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :
awk命令如何使用

Awk模式

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

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

[root@localhost~]#catteams.txtBucksMilwaukee60220.732RaptorsToronto58240.70776ersPhiladelphia51310.622CelticsBoston49330.598PacersIndiana48340.585

正则表达式模式

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

[root@localhost~]#awk'/0.5/{print$0}'teams.txtCelticsBoston49330.598PacersIndiana48340.585

awk命令如何使用

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

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

awk命令如何使用

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

[root@localhost~]#awk'/^[0-9]/{print$1}'teams.txt76ers
awk命令如何使用

关系表达式模式

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

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

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

[root@localhost~]#awk'$2~/ia/{print$0}'teams.txt76ersPhiladelphia51310.622PacersIndiana48340.585

awk命令如何使用

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

[root@localhost~]#awk'$2!~/ia/{print$0}'teams.txtBucksMilwaukee60220.732RaptorsToronto58240.707CelticsBoston49330.598

使用!=“不等于”操作符

awk命令如何使用

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

[root@localhost~]#awk'$4>=30{print$0}'teams.txt76ersPhiladelphia51310.622CelticsBoston49330.598PacersIndiana48340.585
awk命令如何使用

范围模式

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

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

[root@localhost~]#awk'/Raptors/,/Celtics/{print$0}'teams.txtRaptorsToronto58240.70776ersPhiladelphia51310.622CelticsBoston49330.598

awk命令如何使用

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

[root@localhost~]#awk'$4==31,$4==34{print$0}'teams.txt76ersPhiladelphia51310.622CelticsBoston49330.598PacersIndiana48340.585
awk命令如何使用

特殊表达式模式

Awk包括以下特殊模式。

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

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

[root@localhost~]#awk'BEGIN{print"StartProcessing."};{print$3};END{print"EndProcessing."}'teams.txtStartProcessing.6058514948EndProcessing.
awk命令如何使用

内置变量

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

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

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

[root@localhost~]#awk'END{print"File",FILENAME,"contains",NR,"lines."}'teams.txtFileteams.txtcontains5lines.
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:awk命令如何使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:linux的sed怎么用下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18