我使用awk命令从虚拟文件中提取最大值。
cat dummy_file
Cat Felix 3
Cat Garfield 2
Cat Tom 1
Dog Snoopy 5
Dog Spike 4
awk '{max[$1] =!($1 in max) ? $3 : ($3 > max[$1]) ? $3 : max[$1]} \
END {for (i in max) print i,max[i]}' dummy_file
Cat 3
Dog 5此外,为了提取最大值和数组元素,我需要相应的$2。对于这样的输出:
Cat Felix 3
Dog Snoopy 5我的问题是-如何打印想要的字段后,选择数组元素?
发布于 2013-12-04 17:34:59
你可以试试:
{
if ($1 in max) {
if ($3> max[$1]) {
max[$1]=$3
type[$1]=$2
}
} else {
max[$1] = $3
type[$1]=$2
}
}
END {
for (i in max) print i,type[i],max[i]
}https://stackoverflow.com/questions/20381571
复制相似问题