awk连载5: if判断

在用awk执行操作时,有时我们需要先做个判断,再决定要不要执行相关的操作,这里的判断可以使用if语句来实现。

if判断的语法:

if(判断1){语句1}

else if(判断2){语句2}

else if(判断3){语句3}

...

else{语句n}

当awk对每行进行操作的时候,首先把这行的内容在if判断语句里过一遍,满足判断1,就执行语句1,后面的判断就不再执行了。如果判断1不满足,则进行判断2,依次类推知道把所有的判断都执行完。如果所有的判断都不满足,则执行else里的语句。

在awk里完成的写法就是:

awk ‘/模式/{if(判断1){语句1}else if(判断2){语句2}else{语句n}}’ file

 

比如下面是当前系统中所有的虚拟机:

awk连载5: if判断 

现在以特定的格式来显示哪些是运行的,哪些是不运行的,比如下格式:

      director 是运行的

      test 是关闭的

用下面的语句来实现:

awk连载5: if判断 

这里也支持三目操作符,语法如下:

print {(判断?语句1:语句2)} file

这里的意思是判断如果成立,则执行语句1,否则则执行语句2

例子

awk连载5: if判断 

注意上面,因为要显示虚拟机名,所以$2这个要单独拿出来,不能放在””里。

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读