我有以下记录,现在我必须找到第 4 列的最大值并打印相应的行记录。
2017122600|0|0|0|0|0|0|0|0|0|0|0|0
2017122601|0|0|0|0|0|0|0|0|0|0|0|0
2017122602|0|0|0|0|0|0|0|0|0|0|0|0
2017122603|0|0|0|0|0|0|0|0|0|0|0|0
2017122604|0|0|0|0|0|0|0|0|0|0|0|0
2017122605|0|0|0|0|0|0|0|0|0|0|0|0
2017122606|0|0|0|0|0|0|0|0|0|0|0|0
2017122607|0|0|0|0|0|0|0|0|0|0|0|0
2017122608|0|0|0|0|0|0|0|0|0|0|0|0
2017122609|0|0|1|0|0|0|0|0|0|0|0|0
2017122610|0|0|0|0|0|0|0|0|0|0|0|0
预期输出是
2017122609|0|0|1|0|0|0|0|0|0|0|0|0
答案1
sort
+head
解决方案:
sort -t'|' -k4nr file | head -1
-t'|'
-|
视为字段分隔符-k4nr
- 按4
第 th 字段的数字n
倒序排序r
输出:
2017122609|0|0|1|0|0|0|0|0|0|0|0|0
答案2
使用 awk,这将适合:
awk -F'|' '$4>max{max=$4;r=$0}END{print r}' file