使用linux命令选择计数大于x且小于y的行

时间:2015-09-25 14:11:45

标签: linux awk

我有以下文件:

1,A 
2,B
3,C
10000,D
20,E
4000,F

我想选择计数大于 10 且小于 5000 的行。输出应为 E F 。在C ++或任何其他语言中都是小菜一碟。我真的想知道如何使用linux命令来完成它。

我尝试了以下命令

awk -F ',' '{$1 >= 10 && $1 < 5000} { count++ } END { print $1,$2}' test.txt

但它只有givine 4000,F。

1 个答案:

答案 0 :(得分:6)

只是这样做:

awk -F',' '$1 >= 10 && $1 < 5000' test.txt
  • 您在{....}中放置了布尔检查,并且根本不使用结果。它没有任何意义。您应该{if(...) ...}booleanExpression{do...}

  • 无用的count++

  • print中只有END声明,因此只打印出最后一行。

你的脚本实际上是这样的:

print the last line of the test.txt, no matter what it is.