如何使用grep返回此变量的bool值?

时间:2014-06-01 20:08:49

标签: bash unix awk grep boolean

我希望stout返回"待机"的bool值变量:

pmset -g | grep standby

输出,显然是:

standbydelay         10800
 standby              0 #<--This is what I want!#

此外:

pmset -g | grep -cim1 standby 

返回1,表示只存在字符串。它没有给我任何关于它的bool价值的信息。

打印bool值&#34; 0&#34;的语法是什么?粗壮?我怀疑使用awkprint需要另外一个参数,但我不知道。先感谢您。

3 个答案:

答案 0 :(得分:4)

将是一个简单的

$ ... | awk '/ standby/{print $2}'
0

做这个工作?

答案 1 :(得分:3)

我会选择Fredrik Pihl的建议。但是,您也可以利用grep的退出代码:

if grep -q 'standby  *1' file
then
  echo "It's set to 1"
else
  echo "It's either set to 0 or not present"
fi

答案 2 :(得分:2)

使用GNU sed

$ com () { echo "standbydelay         10800
 standby              0"; }
$ com | sed -n 's/ standby[[:space:]]\+//p'
0