awkif(awk if else)

诡异的awk正则匹配问题$ awk '{if ( $1 ~ /^x{1,}/ ) print}' 0000 其中0000是文件名,包含内容是xu hello

正则分为BREs,EREs,PREs,这种情况应该是awk或相关说明文档没有给得很明确导致理解与实际运行结果的不符,不同编译版本可能存在开关上差异常吧。

考虑加上--posix参数看看,awk--posix'{if($1~/^x{1,}/)print}'0000

awk中变量不好使 awk '{if(\$1 >= $n) print \$2}' 变量$n 前面加\$n也不行

首先你的$n是什么?既然它不是awk的内置变量,哪就是你的外部变量。

awk调用外部变量是需要用引号括起来。或者在前面-v添加这个外部变量。

awk'{if($1>="$n")print$2}'file

shell 命令,在awk里面使用if,判断m 和 o两个整数是否在$4和$5这两个整数之间

awk里面的比较不是用ge le,awk 用来比较的运算符是 >= (大于等于) <=(小于等于)。m和o 都要加个$,$m $o

再看看别人怎么说的。

关于awk中做if判断检测磁盘使用率的问题

#!/bin/bash

#########

# author:Jiaping Liao

# 2011-11

#########

spaceUse()

#NR==2{print $6}是取第6列第二行的数据---即16(%被后面的cut去掉了)

num=`df /home -hT | awk 'NR==2{print $6}' | cut -d "%" -f 1`

echo " 本计算机/home目录的使用率是: $num%"

if [[ $num -lt 50 ]]

then

echo " 用户文件系统磁盘使用负荷量小"

elif [[ $num -lt 90 ]]

then

echo " 用户文件系统磁盘使用负荷量正常"

else

echo " 用户文件系统磁盘使用负荷量偏大"

fi

main()

spaceUse

原创文章,作者:墨羽SEO,如若转载,请注明出处:https://www.moyuseo.com/fuwuqi/8665.html

(0)
墨羽SEO的头像墨羽SEO
上一篇 2021年12月26日 上午10:48
下一篇 2021年12月26日 上午10:48

相关推荐

分享本页
返回顶部
欢迎来到互联网运营人学习交流技术网站!