Bash 如何使用awk根据前两个字段找出第三个字段的最小值
名为Bash 如何使用awk根据前两个字段找出第三个字段的最小值,bash,awk,Bash,Awk,名为test.file的文件的内容如下: 333379266 834640619 88 333379280 834640621 99 333379280 834640621 66 333376672 857526666 99 333376672 857526666 78 333376672 857526666 62 333379280 83464062
test.file
的文件的内容如下:
333379266 834640619 88
333379280 834640621 99
333379280 834640621 66
333376672 857526666 99
333376672 857526666 78
333376672 857526666 62
333379280 834640621 66
333379266 834640619 88
333376672 857526666 62
前两列可能是重复的,我想输出前两列和第三列对应的最小值。在这种情况下,结果文件应该如下所示:
333379266 834640619 88
333379280 834640621 99
333379280 834640621 66
333376672 857526666 99
333376672 857526666 78
333376672 857526666 62
333379280 834640621 66
333379266 834640619 88
333376672 857526666 62
我的尝试是:
awk'{a[$1”“$2]=99999;a[$1”“$2]=a[$1”“$2]请尝试以下操作,以在整个输入文件中查找第一个和第二个字段键的最小值
awk '
{
ind=$1 OFS $2
array[ind]=(array[ind]<$3?(array[ind]?array[ind]:$3):$3)
}
END{
for(i in array){
print i,array[i]
}
}' Input_file
awk'
{
ind=1美元/2美元
数组[ind]=(数组[ind]