打印大于两个字段的行

时间:2016-10-04 17:29:45

标签: linux bash unix awk grep

我对$broadcast没关系,但我知道grep在这种情况下可能更有效率。我学习但还不完全。

我有一些数据:

awk

我想在字段4中仅打印大于7的行,并且在字段4中打印大于10的行(同时删除任何短划线)。因此,输出将是:

record1,14.2,10,50
record2,10.7,5,-
record3,9.3,6.8,10
record4,8,2.7,10
record5,5.5,22.4,10
record6,3,23.6,55
record7,2.7,14.6,-

我使用record1,14.2,10,50 record6,3,23.6,55 玩过,但就像我说的那样,我对awk '{print $3 > 7}'和条件不太满意。我可以用grep来做,但我觉得这样效率很低。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

awk脚本的结构是condition { action }。默认操作是{ print },它打印整个记录。

  • 您的条件为$3 > 7$4 > 10
  • 您的字段分隔符是逗号。

结合我们得到的东西:

awk -F, '$3 > 7 && $4 > 10' file