Awk关系运算符和布尔运算符
Awk关系运算符及其意义
| 运算符 | 意义 |
| < | 小于 |
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
| == | 等于 |
| != | 不等于 |
| ~ | 匹配正则表达式 |
| !~ | 不匹配正则表达式 |
Awk布尔运算符及其意义
| 运算符 | 意义 |
| || | 逻辑或 |
| && | 逻辑与 |
| ! | 逻辑非 |
示例:
awk 'BEGIN {FS = ":"} $1~/root/' /etc/passwd 打印 /etc/passwd文件中第一个域匹配root的记录
awk 'BEGIN {FS = ":"} $0!~/bash/' /etc/passwd 打印 /etc/passwd文件中所有域不匹配bash的记录
awk进行模式匹配时,可以用到条件语句(类似于C),有if,if /else, if/else/else三种。
awk 'BEGIN {FS = ":"} {if ($3 < $4) print $0}' /etc/passwd 打印第三个域小于第四个域的记录
awk 'BEGIN {FS = ":"} {if ($3==10 || $4==10) print $0}' /etc/passwd
打印第三个域或第四个域精确等于10 的记录(利用==的匹配可成为精确匹配)。
awk 'BEGIN {FS = ":"} {if ($3~10 || $4~10) print $0}' /etc/passwd
打印 第三个域或第四个域包含10的记录(利用~的匹配可成为模糊匹配),如果$3=210,其所在记录也会被打印。
本文完全参照 <linux shell 编程从初学到精通> 华清远见嵌入式培训中心 伍之昂等编著
本文详细介绍了AWK编程语言中常用的关系运算符和布尔运算符的功能与用法,并通过示例展示了如何使用这些运算符进行条件判断与模式匹配。

110

被折叠的 条评论
为什么被折叠?



