|||
linux中的shell语句是一个既简单却又复杂的东西。说它简单,因为所有脚本都是融会贯通的,核心就是grep,gawk,sed等加上一系列正则表达式,但他的复杂之处又在于对于格式有很严格的要求。最近总遇到格式书写不正确导致脚本无法运行出结果的问题,特在此总结出来,以免日后再犯类似的错误。
gawk中引用外部变量时有以下两种方法:
1. gawk '{time=$1;if (time>='"$val"') print '$val',time}' $file #引用外部变量(val)时,不同于内部变量(time)的表达;
2. gawk -v val=2 '{print val,$0}' $file # 引入-v参数,先将外部变量赋值,即可如同内部变量一样使用。
if语句在shell和gawk中使用的差异:
shell if---3种表达方式,加上elif及else
1. if [ expression ]
then
2. if
command
then
3. if test expression
then
(elif...then...else)
需要注意:
不能用>,<等比较符号,需用gt,lt等字母型符号表示;
字符串表达:[ $a = $b ]或者[[ "$a" == "$b" ]] #在[ ]中,"="表示“等于”,在其他语句中,“=”表示“赋值”。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-2 21:17
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社