min_ex
아래의 TSV 파일(이라고 함)을 첫 번째 열을 기준으로 사전순으로 정렬하고 두 번째 열을 기준으로 숫자를 정렬 하고 싶습니다 .
A X, N 2.2
A, N 5.7
A, A 5.8
A, N 2.1
A, T 0.2
B G, M 2.3
B, L 0.1
B, I 0.2
B, M 9.3
B, C 9.9
나는 이것을하려고 노력하고 있습니다 sort -k1,2 -n min_ex
. 그러나 다음과 같은 결과가 발생하므로 작동하지 않습니다.
A, A 5.8
A, N 2.1
A, N 5.7
A, T 0.2
A X, N 2.2
B, C 9.9
B G, M 2.3
B, I 0.2
B, L 0.1
B, M 9.3
또한 (실험을 통해) 구분 기호로 공백이 있을 것이라고 확신 하지만 sort
구분 기호를 설정하는 옵션이 표시되지 않습니다.
나는 sed
순수한 AWK를 사용하거나 전혀 사용하지 않는(둘 다 선호하는 경우) 솔루션을 원하며 가능한 한 POSIX 규격을 유지하고 싶습니다.
답변1
sort -t$'\t' -k1,1 -k2,2n
효과가 있었어, 그랬어POSIX 호환일부를 제외하고 $'\t'
. -t
필드 구분 기호를 지정합니다(기본 공백을 공백이 아닌 공백으로 변환하는 대신) 접미사는 n
개별 필드 정의에 적용될 수 있습니다.