收集云服务器优惠信息
记录云服务器使用心得

Linux系统通过Awk命令使用复合表达式示例演示

在使用Linux系统的时候,可能经常需要用到能够检查条件是否满足的简单表达式。更进一步来说,或许你可能还想使用多个表达式来检查特定条件,这时该怎么办?

其实,可以通过复合命令来实现。在本文中,小编将简单介绍通过Awk命令组合多个表达式(称为复合表达式)来在过滤文本或字符串时检查条件,并且通过一些实例演示来帮助大家更好理解。

Awk命令

Awk中的复合表达式

在Awk中,复合表达式使用&&(称为and))和||(称为or)复合运算符构建,复合表达式一般语法是:

expression1 && expression2

上述语法表示逻辑AND运算,其中表达式1和表达式2都必须为真,整个表达式才为真。

类似地,你也可以使用||运算符进行逻辑或运算,可以表示为:

expression1 || expression2

在这里,要想整个表达式要为真,expression1expression2中的一个必须为真。你可以使用Awk比较运算符来构建表达式。

接下来,小编将通过实际示例介绍如何在Linux系统中使用Awk复合表达式。

示例文件

在这个例子中,有一个名为的文本文件ecscoupon_deals.txt,其中包含一些随机Ecscoupon交易的列表,其中包括交易的名称、价格和类型,其交易清单内容如下:

No   Name                                  Price     Type
1    Mac_OS_X_Cleanup_Suite                $9.99     Software
2    Basics_Notebook                       $14.99    Lifestyle
3    Tactical_Pen                          $25.99    Lifestyle
4    Scapple                               $19.00    Unknown
5    Nano_Tool_Pack                        $11.99    Unknown
6    Ditto_Bluetooth_Altering_Device       $33.00    Tech
7    Nano_Prowler_Mini_Drone               $36.99    Tech

示例1:按价格范围过滤

假设现在需要筛选价格在10美元到20美元之间的产品,可以使用Awk中的复合表达式,具体如下:

awk '$3 >= 10 && $3 <= 20 { print $0 }' ecscoupon_deals.txt

样本输出:

1    Mac_OS_X_Cleanup_Suite                $9.99     Software
4    Scapple                               $19.00    Unknown
5    Nano_Tool_Pack                        $11.99    Unknown

示例2:组合条件

假设现在想要过滤类型为“Software”或“Tech”的产品,则可以在复合表达式中使用逻辑或(||)运算符。

awk '$4 == "Software" || $4 == "Tech" { print $0 }' ecscoupon_deals.txt

样本输出:

1    Mac_OS_X_Cleanup_Suite                $9.99     Software
6    Ditto_Bluetooth_Altering_Device       $33.00    Tech
7    Nano_Prowler_Mini_Drone               $36.99    Tech

示例3:条件组合

假设想要过滤价格低于20美元且类型为“Unknown”的产品,这时可以通过使用逻辑AND(&&)运算符结合两个条件来实现这一点:

awk '$3 < 20 && $4 == "Unknown" { print $0 }' ecscoupon_deals.txt

样本输出:

4    Scapple                           $19.90     Unknown
5    Nano_Tool_Pack                    $11.99     Unknown

示例4:否定条件

最后,假设我们想要排除“ Lifestyle ”类型的产品,则可以通过使用逻辑NOT运算符(!)否定条件来实现这一点:

awk '$4 != "Lifestyle" { print $0 }' tecmint_deals.txt

样本输出:

1    Mac_OS_X_Cleanup_Suite                $9.99     Software
4    Scapple                               $19.00    Unknown
5    Nano_Tool_Pack                        $11.99    Unknown
6    Ditto_Bluetooth_Altering_Device       $33.00    Tech
7    Nano_Prowler_Mini_Drone               $36.99    Tech

小结

通过上面的演示实例可以发现,有些条件总是需要构建复合表达式才能准确匹配你想要的内容。因此,当你理解比较和复合表达式运算符的用法时,根据一些困难的条件过滤文本或字符串将变得容易。

总之,如果需要再Linux系统中使用复合表达式的话,可以借助Awk命令来实现,相对来说使用较为简单,适合Linux新手用户使用。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Linux系统通过Awk命令使用复合表达式示例演示》
文章链接:https://www.ecscoupon.com/6234.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!