将awk中的stdout设置为“if”的输入

时间:2012-11-01 10:49:42

标签: if-statement stdout

作为我脚本的一部分,我需要搜索一些文件,并检查某列的值是否等于或大于给定的数字。

在这个简化的例子中,我想看看第一行第3列的值是否大于10:

head -1 examplefile | awk '{print $3}' | if [?? > 10 ]; then print "YES"; fi

问题是从aw​​k调用stdout(这是我想要的数字)作为if命令的输入(??)。

应该很简单,但我想我只是愚蠢......;)

干杯, 马丁

1 个答案:

答案 0 :(得分:1)

为什么不将awk的输出设置为变量?

myVar=$(head ... awk '{print $3}')

并在if语句中对其进行测试。

if [ $myVar -gt 10 ]; then
    print "YES"
fi

(我认为您需要-gt operator)。

或者为什么不使用awk's conditional statements并完全避免这种情况?