파일 1이 있습니다.
"$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58"
파일 2 I want :
"$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58"
기본적으로 수치 적으로 정렬 된 파일 1.
댓글
답변
-V –version-sort를 좋아합니다 : 문자열과 숫자를 혼합하는 많은 상황에서 매우 잘 작동합니다.
sort -V
이 옵션을 자주 사용합니다 …
어떤 방향으로 , ls -v
버전 정렬 ls
.
답변
sort -n
에 =
뒤의 부분을 정렬하도록 지시해야합니다.
sort -t = -k 2n
댓글
- 최근에 이것을 찾고있었습니다 ^^. 하지만 한 가지 더 Q.
-k2n
는 무엇을합니까? 숫자 정렬과 관련이 있습니까? 감사합니다. - @KasiyA
-k
는 정렬 키를 정의합니다. 자세한 내용은 man 페이지를 참조하십시오.-k2n
는 두 번째 필드에서 시작하여 줄 끝에서 끝나는 정렬 키를 정의하고 숫자 정렬 키로 만듭니다.
Answer
sort -h
를 실행하면 작동합니다. --human-numberic-sort
라고합니다.
sort -h file1 > file2
답변
정렬 사용 :
sort -n file1 > file2
-n, –numeric-sort
문자열 숫자 값에 따라 비교
sort -g file1 > file 2
-g, –general-numeric-sort
댓글
- 아니요, 모두 줄은 숫자로 시작하지 않으므로
sort -n
와 순위가 동일합니다. ' 정렬하는 이유는 순위가 동일한 라인에 대해 수행되는 마지막 리조트 전체 라인 정렬 (숫자가 아닌 어휘) 때문입니다. 그러면"$lvl=17"
가"$lvl=2"
보다 먼저 정렬됩니다. - @St é phaneChazelas는 지적 해 주셔서 감사합니다.
- 다른 말로 표현하자면
-n
및-g
는 입력이 숫자가 아니므로 여기서 중복됩니다. . 따라서이 답변은 오해의 소지가 있으므로 반대 투표 (-g
및 긴 옵션은 GNU에 따라 다릅니다) - 하지만 -g는 좋은 일반 숫자입니다. sort
- '는 여전히 숫자 값을 정렬하기위한 것입니다.
-n
와의 차이점은 '는 십진수로 제한되지 않습니다. 그래도 마지막 리조트 정렬의 일부로"$lvl=2"
전에"$lvl=17"
정렬됩니다.
Answer
sort -n
는 사용하려는 항목입니다. 숫자를 정렬 할 때 정렬됩니다. sort -k 2 -n file1
댓글
- 하지만 OP는 기본값 인 오름차순으로 정렬하려고합니다. 역순을 제안하는 이유는 무엇입니까?
- 필드가 탭 또는 공백 으로 구분 된 경우 위의 내용이 정확하고 OP ' 사례.
sort
를 실행하면 File2를 얻습니다. 당신은 무엇을 다르게하고 있습니까? 이 질문에서 제외하고 싶은 것은 무엇입니까?