成本大于10

时间:2015-09-14 01:39:48

标签: linux ubuntu awk wc

我有档案

Product Cost
a       10
b       20
c       30

我想要计算成本大于10的产品。 我用过:

awk '{$2>10}' myfile | wc -l

但它不起作用 - 我得到了结果0而不是我期待的2。怎么了?

3 个答案:

答案 0 :(得分:3)

你的条件包裹着大括号;你不想要那个:

awk '$2 > 10' myfile | wc -l

实际上,条件生成0或1,但没有打印,因此wc -l计数为0(因为awk没有产生输出)。

此外,作为Barmar points out,您可以awk进行计数而不使用wc

答案 1 :(得分:2)

您无需使用wc,即可在awk进行计数。但主要问题是条件测试需要在括号之外(或在括号内和if语句中)。

awk '$2 > 10 { count++ } END {print count}' myfile

答案 2 :(得分:-1)

awk '{if($2 > 10} myfile | wc -1 

我认为这可能是解决方案,试一试让我知道。