다음과 같이 구문 분석된 버전 태그 목록이 있다고 가정해 보겠습니다.
0.2
0.1
0.10
0.9
내가 사용하면 sort
나는 얻는다(맞습니까, 이것을 대조 순서라고 부릅니까?)
0.1
0.10
0.2
0.9
내가 기대하는 숫자(논리적) 순서를 원하는 경우
0.1
0.2
0.9
0.10
예를 들어, 이것은 패키지 버전을 구문 분석하는 동시에 자동화된 설치 프로세스를 위해 최신 버전을 얻고 싶을 때 자주 접하는 시나리오입니다.
이 목표를 어떻게 달성할 수 있나요?
답변1
GNU 정렬에는 버전 번호 정렬에만 사용되는 -V
/ 옵션이 있습니다. --version-sort
원하는 출력을 정확하게 생성하고 여러 부분으로 구성된 버전 번호도 처리합니다 0.10.123
.
이 특정 데이터세트의 sort -t. -k1,1n -k2,2n
경우 를 필드 구분 기호 sort
로 사용한 .
다음 첫 번째 및 두 번째 필드를 기준으로 숫자로 정렬할 수도 있습니다. ( -k1n
첫 번째 필드로 시작하는 행의 나머지 부분이 사용되므로 결과가 달라집니다.)