我想获取unix数据文件中年龄最大的人的姓名。我怎样才能做到这一点?
Rob,20
Tom,30
我尝试了如下,但它只给了我最大年龄。
awk -F"," '{print $2}' age.txt | sort -r | head -1
答案 0 :(得分:2)
$ cat file | awk -F, '{print $2,$1;}' | sort -n | tail -n1
30 Tom
$ cat file | awk -F, '{print $2,$1;}' | sort -n | tail -n1 | awk '{print $2;}'
Tom
答案 1 :(得分:1)
尝试
awk -F, '{if (maxage<$2) { maxage= $2; name=$1; };} END{print name}' \
age.txt
答案 2 :(得分:1)
传统:
sort -t, -nr +1 age.txt | head -1 | cut -d, -f1
POSIXy:
sort -t, -k2,2nr age.txt | head -n 1 | cut -d, -f1
答案 3 :(得分:0)
我认为您可以使用以下命令
轻松完成此操作echo -e "Rob,20\nTom,30\nMin,10\nMax,50" | sort -t ',' -rk 2 | head -n 1
如有任何问题,请发表评论。