숫자 정렬은 파일을 올바르게 정렬하지 않습니다.

숫자 정렬은 파일을 올바르게 정렬하지 않습니다.

file1.txt를 숫자로 정렬하려면 sort 명령을 사용합니다.

~]# sort -n -o file1.txt file1.txt
0 Barack
50 George
60 Ronald
100 Bill

sort check 명령은 파일이 정렬되지 않았음을 나타냅니다.

~]# sort -c file1.txt
sort: file1.txt:4: disorder: 100 Bill

파일을 수동으로 수정해서 "100 Bill" 초를 넣었습니다.

~]# cat file1.txt
0 Barack
100 Bill
50 George
60 Ronald

이제 sort check 명령은 stdout 또는 stderr을 생성하지 않습니다. 이는 파일이 올바르게 정렬되었음을 의미합니다. 올바른 정렬을 통해 이제 파일을 결합할 수 있습니다. 전체 정수가 아닌 파일이 정렬되었는지 확인하기 위해 첫 번째 문자를 사용하는 것 같습니다.

sort -c file1.txt

"100 Bill"이 2번째 줄에 오도록 파일을 정렬하는 방법이 있나요? 이 문제를 실제로 적용하려면 일상 업무에서 다루는 수백 줄의 텍스트가 필요하기 때문에 이 작업을 수동으로 수행할 수 없습니다.

답변1

파일을 사용하고 싶다면join, 정렬되었는지 확인해야 합니다사전순으로조인 키에서 이는 다음 -n과 함께 사용해서는 안 됨을 의미합니다.sort. 언제든지 join결과를 숫자순으로 다시 정렬할 수 있습니다.

를 실행할 때 sort -c파일을 정렬하는 데 사용한 것과 동일한 정렬 매개변수를 지정해야 합니다. 따라서 파일이 숫자별로 정렬되었는지 확인하려면 를 실행하세요 sort -c -n.

따라서 귀하의 경우에는 sort -o file1.txt file1.txt사전순으로 파일을 정렬하여 사용하십시오 join(첫 번째 필드를 조인 필드로 사용).

관련 정보