탭으로 구분된 두 개의 열이 포함된 파일이 있습니다.
A10 A10_motorway_(Switzerland)
A-10 A-10_N/AW
A10 A10_Networks
A-10 A-10_road
A10 A10_road
A10_road_(California) A10_road_(Canada)
A10_road_(Croatia) A10_road_(disambiguation)
A10_road_(England) A10_road_(Great_Britain)
A10_road_(Isle_of_Man) A10_road_(Isle_of_Man)
A10_road_(Latvia) A10_road_(Malaysia)
A10_road_(United_Kingdom) A10_road_(United_States_of_America)
A10_road_(USA) A10_road_(Zimbabwe)
A-10 A-10_Shrike
A10 A10_(Switzerland)
이 파일을 첫 번째 열을 기준으로 알파벳순으로 정렬하고 싶습니다. 따라서 동일한 제목이 연속해서 나타나야 합니다.
그래서 나는 이렇게 했습니다:
sort -t $'\t' -k1 -d filename
그러나 결과는 실제로 위의 스냅샷입니다. 보시다시피 "A-10" 항목은 순서가 없고 연속적으로 발생하지 않습니다. 알파벳순 자체는 별로 신경쓰지 않지만, 같은 제목이 연속해서 나오길 원합니다. 정렬로 인해 이 작업이 허용되지 않는 이유와 이를 해결하는 방법을 설명할 수 있는 사람이 있나요? 감사해요!
답변1
시도해 보십시오:
LC_COLLATE=C sort myfile
과거에 비슷한 행동을 겪은 적이 있었는데, 동료의 이 제안이 도움이 되었습니다.
답변2
-k1,1
나는 경험적으로 " A10
"를 합치면 " "도 합해진다는 것을 알았지 A-10
만 그 이유를 이해할 수 없습니다. 이는 sort
GNU coreutils 8.4에서 가져온 것입니다.