다음과 같은 레코드가 있습니다. 이제 열 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
번째 필드의 번호를 기준으로 역순으로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