Unix의 정렬 명령 및 숫자 정렬

Unix의 정렬 명령 및 숫자 정렬

파일 1이 있습니다.

"$lvl=57"
"$lvl=20"
"$lvl=48"
"$lvl=17"
"$lvl=58"

파일 2 내가 원하는 것:

"$lvl=17"
"$lvl=20"
"$lvl=48"
"$lvl=57"
"$lvl=58"

기본적으로 file1을 숫자로 정렬합니다.

답변1

나는 (GNU의) 일부 구현에 있는 / 옵션을 좋아합니다 -V. 문자열과 숫자가 혼합된 많은 상황에서 매우 잘 작동합니다.--version-sortsortsort

sort -V

저는 이 옵션을 자주 사용하는데...

같은 방향으로 버전 순서 지정을 위해 (GNU에서 ) ls의 일부 구현을 사용하십시오 .ls -vlsls

답변2

sort -n다음 섹션을 정렬하도록 지시해야 합니다 =.

sort -t = -k 2n

답변3

나는 당신이 실행 sort -h하면 작동한다는 것을 알았습니다. 그들은 그것을 부른다 --human-numberic-sort.

sort -h file1 > file2

답변4

정렬 사용:

sort -n file1 > file2

-n, --numeric-sort
문자열 값을 기준으로 비교

 sort -g file1 > file 2

-g, --일반 숫자 정렬

관련 정보