我是初学者AWK
,所以请帮助我学习它。我有一个名为 snd
的文本文件它的值(value)是
1 0 141
1 2 223
1 3 250
1 4 280
当第三列值为 minimu 时,我想打印整行
最佳答案
这应该这样做:
awk 'NR == 1 {line = $0; min = $3}
NR > 1 && $3 < min {line = $0; min = $3}
END{print line}' file.txt
编辑 :
它的作用是:
注意测试
NR > 1
可以跳过,至于第一行,$3 < min
会是假的。如果您知道第 3 列始终为正(非负),您也可以跳过 NR == 1 ...
测试为 min
脚本开头的值为零。编辑2 :
这是更短的:
awk 'NR == 1 || $3 < min {line = $0; min = $3}END{print line}' file.txt
关于用于从列中查找最小值的 awk 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13099202/