1

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

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

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

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

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

干杯,马丁

4

1 回答 1

1

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

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

并在if语句中进行测试。

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

(我认为您将需要-gt 操作员)。

或者为什么不使用awk 的条件语句并完全避免这种情况?

于 2012-11-01T10:53:37.487 回答