필드를 숫자순으로 정렬하는 방법

필드를 숫자순으로 정렬하는 방법

"Team_James"라는 파일을 마지막 열을 기준으로 숫자순으로 정렬하려고 합니다. 그런 다음 출력을 "file3"이라는 새 파일에 저장하려고 합니다.

명령을 시도했지만 sort Team_James | > s3무엇을 해야할지 모르겠고, -k그것이 무엇인지조차 모릅니다! 나는 인터넷을 여기저기 찾아다녔다.

내가 뭘 잘못했나요?

이것은 내 명령의 결과입니다.cat Team_James

Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13

답변1

표를 보면 1열에는 이름과 성 사이에 공백이 있습니다. 즉, sort이름과 성에 대해 두 개의 별도 열이 고려됩니다. 결과적으로 입력 테이블의 마지막 열은 #5입니다. 아래 명령은 열 1에 제공된 모든 이름이 이름/성이며 중간 이름이 없다고 가정합니다.

cat Team_James | sort -s -n -k 5.1 > file3
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13
Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
-n, --numeric-sort   compare according to string numerical value  
-s, --stable         stabilize sort by disabling last-resort comparison  
-k, --key=POS1[,POS2]  
      start a key at POS1 (origin 1), end it at POS2 (default end of  
      line).  See POS syntax above.  

관련 정보