"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.