gpt4 book ai didi

linux - 打印大于两个字段的行

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:29 24 4
gpt4 key购买 nike

我对 grep 没意见,但我知道 awk 在这种情况下可能更有效。我正在学习,但还不够。

我有一些数据:

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,-

我只想打印字段 3 中大于 7 和字段 4 中大于 10(同时删除任何破折号)的行。因此,输出将是这样的:

record1,14.2,10,50
record6,3,23.6,55

我尝试过使用 awk '{print $3 > 7}',但是,就像我说的,我对 awk 和条件不是很好。我可以用 grep 做到这一点,但我觉得那样效率低下。非常感谢任何帮助。

最佳答案

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

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

结合我们得到的那些东西:

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

关于linux - 打印大于两个字段的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39858385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com