데이터 저장소의 공간 세부 정보가 포함된 파일이 하나 있습니다. 사용 가능한 여유 공간에 따라 정렬하고 싶습니다.
파일은 다음과 같습니다:
Name:VSP-01-32 Capacity:2047 Free Space:144
Name:VSP-02-33 Capacity:2047 Free Space:333
Name:VSP-03-34 Capacity:2047 Free Space:163
Name:VSP-04-35 Capacity:2047 Free Space:110
Name:VSP-05-36 Capacity:2047 Free Space:256
Name:VSP-06-37 Capacity:2047 Free Space:417
출력은 다음과 같습니다.
Name:VSP-06-37 Capacity:2047 Free Space:417
Name:VSP-02-33 Capacity:2047 Free Space:333
Name:VSP-05-36 Capacity:2047 Free Space:256
Name:VSP-03-34 Capacity:2047 Free Space:163
Name:VSP-01-32 Capacity:2047 Free Space:144
Name:VSP-04-35 Capacity:2047 Free Space:110
sed와 awk를 사용해 보았으나 설득력 있는 해결책을 찾지 못했습니다. 도와주세요.
답변1
(GNU) 정렬을 보면 man sort
정렬할 필드를 지정할 수 있다는 것을 알 수 있습니다. 노력하다:
sort -n -t: -k4 -r
-n
사전순이 아닌 숫자순으로 정렬하는 것을 의미합니다.
-t:
:
필드를 구분(분할)하는 데 사용하도록 지시합니다 .
-k4
네 번째 필드를 사용하라고 지시합니다.
-r
결과를 반전시키라고 알려줍니다.
파일 이름에 가 있으면 작동하지 않는다는 주의 사항이 있습니다 :
(필드/열이 이동함). 이것이 요구 사항인 경우 가장 쉬운 방법은 스크립트(예: Perl 또는 Python)입니다.