
출력이 다음과 같은 프로그램이 있습니다
# Status VAL1 VAL2 Description
1 some text 2.5 4.4 Some long other text
5 some text 2 14.5 2.0 Some long other text 2
12 some text 3 222.6 24.4 Some long other text 3
19 some text 4 3.4 1.5 Some long other text 4
21 some text 5 55.4 10.6 Some long other text 5
32 some text 6 2.9 9.4 Some long other text 6
VAL2 열을 따라 정렬하고 싶습니다. 시도해 보았지만 sort -k 4
"상태" 열에 공백이 있어서 sort
혼란스러워졌습니다 .
이 문제를 해결할 방법이 있나요? 필드 번호 대신 문자 번호를 전달할 수도 있나요?
답변1
열 오프셋을 기준으로 정렬:
sort -k1.27g
위의 플래그(일반 숫자 정렬용) 는 g
표준이 아니므로 정렬 구현이 이를 지원하지 않을 수 있습니다.
이 특정 데이터 샘플을 통해 다음을 얻을 수 있습니다.
LC_ALL=C sort -k1.27
즉, 영숫자 정렬을 수행하고 C 로케일을 사용하여 정렬 시 선행 공백이 무시되지 않도록 하십시오. 예를 들어 정렬이 뒤에 와도 [ ]4.4
정렬이 앞에 옵니다 .24.4
4
2