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

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

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

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

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

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

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

File–food_list.txtNoItem_NameQuantityPrice1Mangoes45$3.452Apples25$2.453Pineapples5$4.454Tomatoes25$3.455Onions15$1.456Bananas30$3.45

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

#表达式{动作;}

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

#awk'$330{print$0;}'food_list.txtNoItem_Name`QuantityPrice1Mangoes45$3.452Apples25$2.45**3Pineapples5$4.45**4Tomatoes25$3.45**5Onions15$1.45**6Bananas30$3.45**

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

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

再举一个例子:

#awk'$320{print$0;}'food_list.txtNoItem_NameQuantityPrice1Mangoes45$3.452Apples25$2.453Pineapples5$4.45TRUE4Tomatoes25$3.455Onions15$1.45TRUE6Bananas30$3.45

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

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