명령 sort -h가 합리적인 결과를 반환하지 않습니다.

명령 sort -h가 합리적인 결과를 반환하지 않습니다.

나는 다음을 사용하여 파일을 정렬하려고 시도했습니다.sort -h

algorithms@algorithms:~$ ls -lh /boot | sort -h
drwxr-xr-x 5 root root 4.0K Dec 28 16:19 grub
-rw------- 1 root root 4.2M Dec  5 13:10 System.map-4.18.0-13-generic
-rw------- 1 root root 4.2M Nov 14 21:30 System.map-4.18.0-12-generic
-rw------- 1 root root 8.2M Dec  5 13:11 vmlinuz-4.18.0-13-generic
-rw------- 1 root root 8.2M Nov 14 21:50 vmlinuz-4.18.0-12-generic
-rw-r--r-- 1 root root 1.5M Nov 14 21:30 abi-4.18.0-12-generic
-rw-r--r-- 1 root root 179K Jan 28  2016 memtest86+.bin
-rw-r--r-- 1 root root   17 Nov 14 21:30 retpoline-4.18.0-12-generic
-rw-r--r-- 1 root root 181K Jan 28  2016 memtest86+.elf
-rw-r--r-- 1 root root 181K Jan 28  2016 memtest86+_multiboot.bin
-rw-r--r-- 1 root root 212K Dec  5 13:10 config-4.18.0-13-generic
-rw-r--r-- 1 root root 212K Nov 14 21:30 config-4.18.0-12-generic
-rw-r--r-- 1 root root  38M Dec 18 15:47 initrd.img-4.18.0-12-generic
-rw-r--r-- 1 root root  38M Dec 28 16:25 initrd.img-4.18.0-13-generic

그러나 순서가 제대로 지정되지 않았습니다.

참고 도서:

   -h, --human-numeric-sort
          compare human readable numbers (e.g., 2K 1G)

내 사용법에 문제가 있나요?

답변1

귀하의 질문에 따라 열 번호도 제공해야 합니다.

ls -lh /boot | sort -hk5

이제 크기 열인 열 5를 기준으로 출력을 정렬합니다.

여기서 사용되는 h것은 명령이 사용되면 ls -lh /boot | sort -nk5숫자로 정렬되고 고려되지 않는다는 것입니다 K,M,G. h옵션이 사용되면 고려됩니다 K,M,G.

정렬하려면 ls -lhS /bootroaima가 제안한 것이 더 나은 옵션입니다.

관련 정보