Die*_*go 4 awk if-statement max
假设我有这些数据:
1 text1 1 1 5
2 text2 2 2 10
3 text3 3 3 15
4 text4 4 4 50
5 text5 5 5 25
Run Code Online (Sandbox Code Playgroud)
我使用以下代码获取第 5 列的最大值:
awk 'BEGIN {a=0} {if ($5>0+a) a=$5} END{print a}' data.txt
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在该代码中添加更多参数,以便在我选择的任何列(但只有一列)中找到关联的值?例如,我想找到第 5 列的最大值以及第 2 列的关联值
我想要的输出是:
50 text4
Run Code Online (Sandbox Code Playgroud)
我不知道如何添加更多参数以获得匹配值。
正确的方法是这样的awk:
awk 'NR==1 || $5>max { max=$5; val=$2 } END { print max, val }' file
50 text4
Run Code Online (Sandbox Code Playgroud)
这设置max=$5andval=$2为第一条记录或$5大于max变量时。
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |