shell的awk中用if..else,怎么多条件嵌套
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell的awk中用if..else,怎么多条件嵌套相关的知识,希望对你有一定的参考价值。
下面是我写的awk中多条件语句,总是在第2个print语句显示语法错误
cat $path/zliu_ciliu5.txt|awk 'if($5>=0.2&&$4!=0)print $0,"1"elseif($5<=0.05||$4==0)print $0,"4"elseif($7>=0.3&&$6>=0.5&&$3>=0.2&&$4>=0.03)print $0,"2"elseprint $0,"3"'
shell编程之 if 判断语句
shell编程之 if 判断语句
判断语句介绍 - if
当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功
当满足条件的代码块中有exit
,表示退出脚本执行
注意: 注意if
和[]
有空格,[]
和condition
也有空格隔开,运算符也有空格。缩进可以任意缩进
单if 语句(一个条件一个判断结果)
适用范围: 一步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False则不执行单if语句
if语法格式:
在脚本中:
if [ condition ] => true or false
then => 条件为ture时执行commands代码块
commands => 代码块,一行或者多行代码。
fi => if语句结束
#l 备注:在代码块中加入一行"exit 8",即结束脚本,后面的代码不再执行
在终端中:
#if [ condition ]; then commands; fi
单if 语句流程图:
if…else 语句(一个条件两个判断结果)
适用范围: 两步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False执行else语句。
if.else语法格式:
if [ condition ]
then => 条件为真,执行commands1
commands1
else => 条件为假,执行commands2
command2
fi
if…else 语句流程图:
if…elif…else 语句(多条件多个判断结果)
使用范围: 多用于两个以上的条件进行判断结果
条件从上至下进行判断,满足则执行条件下的语句并结束if
判断。若都不满足则执行else的语句
else 这个条件不写也可以
if…elif…if 语法格式:
if [ condition1 ] => 判断是否满足条件1,满足执行commands1,结束判断
then
commands1
elif [ condition2 ] => 当不满足条件1,判断是否满足条件2,满足执行commands2,结束判断
then
commands2
...
//else => 若上面的条件都不满足,则 执行else下的commandsx
// commandsx => 可以不写
fi
#l 备注:多条件判断之间存在包容关系,需要从最严格的条件开始判断,
比如:判断系统内存使用率:
60% 警告
70% 严重警告
80% 发邮件
60%以下 打印使用率
如果第一个条件判断是60%,那么70、80都符合第一个条件。后面的条件判断就没有意义了,因为高于60就执行警告,后面条件不执行了
if…elif…else 语句流程图:
if嵌套if 语句
适用范围: 当有多条判断时,可以使用if嵌套
if 条件判断成功,执行if 嵌套内容,否则执行else语句
编写的时候呀从外往里编写
if嵌套if 语句格式:
if [ condition1 ]
then
if [ condition2 ] => 当条件1满足,判断条件2是否满足,满足执行commands1
then
commands1
...
else => 条件2不满足执行commands2
commands2
fi
else => 当条件1不满足执行commands3
commands3
fi
或
if [ condition1 ] => 当条件1满足,执行commands1
then
commands1
else
if [ condition2 ] => 当条件1不满足,条件2满足时,执行条件3
then
if [ condition3 ] => 当条件1不满足,条件23满足时,执行commands3
then
commands3
else => 当条件1不满足,条件2满足时且条件3不满足,执行commands4
commands4
fi
...
else => 当条件1和2都不满足时,执行commands5
commands5
fi
fi
if 和命令的操作
-
系统会执行命令的操作,加入命令执行成功进入下一步操作
-
!
选项代表非 -
通过
echo $?
查看,如果返回0
表示执行成功,返回其他表示执行不成功
语法:
# if options (命令)
# then
# command
# fi
options说明:
!:表示命令执行不成功,则执行command
以上是关于shell的awk中用if..else,怎么多条件嵌套的主要内容,如果未能解决你的问题,请参考以下文章