番号が最も高い名前

番号が最も高い名前

横には、スペースで区切られた名前と数字のリストを含むファイルがあります。たとえば、次のようになります。

Mat 199
rose 150

横に番号が最も高い名前を表示したいので、この場合はshowを指定しますMat。また、ファイルには1行に1つの名前と番号があり、このコマンドには1つのパイプしか使用できません。

答え1

パイプは必要ありません。

awk -v max=0 '{if($2>max){name=$1; max=$2}}END{print name}' file 

これは、ファイル内の最大の数値が正で、2番目のフィールドが数値である2つのフィールドを含むファイルに少なくとも1つの行があると想定します。

答え2

sort -k2 -nr myfileName.txt | head -1

関連情報