정렬 명령을 실행하려고 하는데 이 파일에서는 작동하지 않습니다. 이유는 모르겠습니다.
sort -n -k+3 employee > hired2
이는 고용된 달에 따라 직원 순위를 매겨야 한다고 지침은 말했다.
이것이 파일입니다. MM/DD/YEAR 날짜
mgt Cooper John 06151995 66000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
act Smith Thomas 04102002 56000
act Smith Alecia 04121991 65000
mis MacLeod Janice 01021977 90000
mis Mack Joe 02252003 85000
mis Winslow Sarah 02151995 58000
adm Smith Dexter 01021975 100000
mis Benneth Joan 08152001 79000
mgt Neason Elizabeth 10251998 65500
act NeSmith Donald 11301966 99500
이것이 내가 얻는 것입니다:
act NeSmith Donald 11301966 99500
act Smith Alecia 04121991 65000
act Smith Thomas 04102002 56000
adm Smith Dexter 01021975 100000
mgt Cooper John 06151995 66000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
mgt Neason Elizabeth 10251998 65500
mis Bennett Joan 08152001 79000
mis Mack Joe 02252003 85000
mis MacLeod Janice 01021977 90000
mis Winslow Sarah 02151995 58000
무엇이 잘못되었을 수 있나요? 간격 문제 아닌가요?
답변1
잘못된 열을 기준으로 정렬하고 있습니다. 열 번호는 1부터 시작하며 월 열은 4번째입니다. 그러니 이것을 시도해 보세요:
sort -n -k+4 employee > hired2
답변2
일부 이전 버전의 정렬은 0부터 필드 계산을 시작하고 +n 기호를 키의 시작 필드로 사용합니다. 최신 버전의 sort는 사용되지 않는 기호를 허용할 수 있지만 0부터 계산되기 시작하는지 확인하지 않았습니다. 어쩌면 코치가 이전 버전을 언급하거나 사용하고 있는 것일 수도 있습니다... 건배, drl
답변3
지침에 따르면 고용된 달을 기준으로 직원을 정렬해야 합니다.
어떤 명령인가요? 여기서 나는 다음을 사용하여 예상 결과를 얻었습니다.
$ sort -n -k 4 <file>
테스트 데이터 복사/붙여넣기를 기반으로 합니다. 이는 파일에 탭(있는 경우) 대신 공백이 포함되어 있음을 의미합니다.
답변4
읽을 수 있어야 하는 경우 열을 정렬합니다.
$ column -t < employee | sort -nk4
adm Smith Dexter 01021975 100000
mis MacLeod Janice 01021977 90000
mis Winslow Sarah 02151995 58000
mis Mack Joe 02252003 85000
act Smith Thomas 04102002 56000
act Smith Alecia 04121991 65000
mgt Davidson Darla 04151992 69500
mgt MacDonald George 06151985 70000
mgt Cooper John 06151995 66000
mis Benneth Joan 08152001 79000
mgt Neason Elizabeth 10251998 65500
act NeSmith Donald 11301966 99500