쉘 스크립트를 사용하여 변수에 언급된 값 중 최대 개수를 찾습니다.
예를 들어
VAR="2011.2/2009.1/2011.10"
셸 스크립트는 2011.10을 세 가지 중 가장 높은 것으로 식별해야 하며 출력은 2011.10이어야 합니다.
VAR="2011.10/2011.1"인 경우 출력은 2011.10이어야 합니다.
VAR="2010.1/2011.2"인 경우 출력은 2011.2여야 합니다.
여기서 문제는 소수점 이하 두 자리가 소수점 이하 한 자리보다 작은 것으로 간주된다는 점입니다.
답변1
당신이 요구하는 것은 더 비슷합니다버전숫자 비교.
tr
+sort
+head
해결책:
v="2011.2/2009.1/2011.10"
tr '/' '\n' <<<"$v" | sort -rV | head -1
2011.10
테스트 사례:
v="2011.1/2011.2"
tr '/' '\n' <<<"$v" | sort -rV | head -1
2011.2
v="2011.1/2011.2/2011.101"
tr '/' '\n' <<<"$v" | sort -rV | head -1
2011.101