新西兰服务器

awk的比较运算符如何使用


awk的比较运算符如何使用

发布时间:2022-02-19 17:53:21 来源:高防服务器网 阅读:55 作者:iii 栏目:开发技术

这篇文章主要介绍“awk的比较运算符如何使用”,在日常操作中,相信很多人在awk的比较运算符如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”awk的比较运算符如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

awk是Unix环境下一种非常好的语言,适合于文本处理和报表生成,在进行文本处理时使用比较运算符来过滤文本和字符串是非常不错的选择。

awk 中的比较运算符是什么?

awk 中的比较运算符用于比较字符串和或者数值,包括以下类型:

符号 作用
> 大于
小于
>= 大于等于
小于等于
== 等于
!= 不等于
some_value ~ / pattern/ 如果 some_value 匹配模式 pattern,则返回 true
some_value !~ / pattern/ 如果 some_value 不匹配模式 pattern,则返回 true

现在我们通过例子来熟悉 awk 中各种不同的比较运算符。

例子一,我们有一个文件名为 food_list.txt 的文件,里面包括不同食物的购买列表。我想给食物数量小于或等于 30 的物品所在行的后面加上 (**)

File – food_list.txt  No      Item_Name               Quantity        Price  1       Mangoes                    45           $3.45  2       Apples                     25           $2.45  3       Pineapples                 5            $4.45  4       Tomatoes                   25           $3.45  5       Onions                     15           $1.45  6       Bananas                    30           $3.45

Awk 中使用比较运算符的通用语法如下:

 # 表达式 { 动作; }

为了实现刚才的目的,执行下面的命令:

# awk '$3  30 { print $0 ;}' food_list.txtNo  Item_Name`      Quantity    Price  1   Mangoes            45       $3.45  2   Apples             25       $2.45   **  3   Pineapples         5        $4.45   **  4   Tomatoes           25       $3.45   **  5   Onions             15       $1.45   **  6   Bananas            30       $3.45   **

在刚才的例子中,发生如下两件重要的事情:

  • 第一个“表达式 {动作;}”组合中, $3 ” ; } 打印出数量小于等于30的行,并且在后面增加 () 。物品的数量是通过 $3 这个域变量获得的。
  • 第二个“表达式 {动作;}”组合中, $3 > 30 { print $0 ;} 原样输出数量小于等于 30 的行。

再举一个例子:

# awk '$3  20  { print $0 ;} ' food_list.txtNo    Item_Name     Quantity    Price  1     Mangoes          45       $3.45  2     Apples           25       $2.45  3     Pineapples        5       $4.45 TRUE  4     Tomatoes         25       $3.45  5     Onions           15       $1.45 TRUE  6     Bananas          30       $3.45

在这个例子中,我们想通过在行的末尾增加 (TRUE) 来标记数量小于等于20的行。

到此,关于“awk的比较运算符如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注高防服务器网网站,小编会继续努力为大家带来更多实用的文章!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[