如何使用一个命令行在第三个字段中显示最高值

时间:2016-05-18 09:47:50

标签: linux bash unix

我有一个名为file1的文本文件。它包含三列数据 如何使用一个命令行在第三个字段中显示最高值?

111 222 333
555 222 222
444 111 212
222 111 111

尝试了以下命令:

cut -f3 file1 | sort -r 

4 个答案:

答案 0 :(得分:4)

我会使用<!-- Spinner style --> <style name="spinnerItemStyle"> <item name="android:textColor">@color/colorAccent</item> <item name="android:gravity">center</item> <item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">center</item> </style> <!-- Spinner style drop down style--> <style name="spinnerDropDownItemStyle"> <item name="android:textColor">@color/colorPrimaryDark</item> <item name="android:gravity">center</item> <item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">center</item> </style>

<!-- Change the spinner style-->
<item name="android:spinnerItemStyle">@style/spinnerItemStyle</item>
<item name="android:spinnerDropDownItemStyle">@style/spinnerDropDownItemStyle</item>

顺便说一句,关于你试过的命令行,它应该是:

awk

答案 1 :(得分:1)

awk '{print $3}' | sort | tail -1

sort -rk 3 | awk '{print $3;exit}'

awk '$3>a{a=$3}END{print a}'

答案 2 :(得分:0)

如果目标是按降序打印排序值,我会做这样的事情

awk 'NR==FNR{a[$3];next}
      END{asorti(a);
      printf "Sorted values from col3\n";
      while(NR>0){           #NR or the Number of Records comes handy here
      printf "%d\n",a[NR--]  #awk supports post-fix operations using --,++
      }
   }' yourfile

<强>输出:

Sorted values from col3
333
222
212
111

答案 3 :(得分:0)

这样做:

cut -d ' ' -f3 file1 |sort -n |tail -1

以空格()作为分隔符剪切字段3,以数字方式对它们进行排序(-n标记),然后取最后一个条目。