Unix 명령을 사용하여 파일 정렬

Unix 명령을 사용하여 파일 정렬

입력 파일:

tmp-1064,address3,state,country
tmp-1061,address1,state,country
tmp-1060,address2,state,country
tmp-106,address4,state,country

현재 출력 파일

tmp-1060,address3,state,country
tmp-1061,address1,state,country
tmp-106,address2,state,country
tmp-1064,address4,state,country

필수 출력 파일

tmp-106,address3,state,country
tmp-1060,address1,state,country
tmp-1061,address2,state,country
tmp-1064,address4,state,country

답변1

sort필드를 쉼표( )로 구분하고 -t첫 번째(-k1) 필드를 사용하여 정렬하되 필드의 5번째 문자 이상만 확인하도록 지시합니다 . 숫자로 정렬하려면 정렬 옵션을 추가하세요 n.

sort -t, -k1.5n input

GNU 정렬을 사용하면 이러한 일이 일어나는 것을 볼 수 있습니다.

$ sort -t, -k1.5n --debug input
sort: using ‘en_US.UTF-8’ sorting rules
sort: key 1 is numeric and spans multiple fields
tmp-106,address4,state,country
    ___
______________________________
tmp-1060,address2,state,country
    ____
_______________________________
tmp-1061,address1,state,country
    ____
_______________________________
tmp-1064,address3,state,country
    ____
_______________________________

관련 정보