디렉토리에서 모든 파일을 크기별로 정렬하려면 어떻게해야합니까? 표시 할 수 있습니까? 나는 시도했다 du -h

사람이 읽을 수있는 크기별로 정렬 된 unix 디렉토리에 파일을 어떻게 표시 할 수 있습니까?

나는 시도했다

du -h | sort -V -k 1 

그러나 작동하지 않는 것 같습니다.



답변

ls(1) /sort:

-S     sort by file size

답변

$ ls -lhS

-l     use a long listing format
-h     with -l, print sizes in human readable format (e.g., 1K 234M 2G)
-S     sort by file size

답변

적절한 sort버전 이 있다면 간단하게 사용할 수 있습니다.

du -h | sort -rh

광산은

$ sort --version
sort (GNU coreutils) 8.12

답변

ls -S나에게 OS에서 옵션이 아니었다. 다음과 같이 작동했습니다.
ls -l | sort -k 5nr
“키”는 정렬 할 열을 지정하는 것입니다 ( “키”가져 오기). 위의 크기 (5)는 숫자 (n)으로 내림차순 (n)으로 평가되는 5 번째 열에-k 5nr 의미 정렬을 지정 합니다.

자세한 내용은 참조 정렬 문서


답변

du -ha | sort -h

du : 파일 디스크 사용량을 추정합니다.

-h : for human
-a : all files

sort : 텍스트 줄을 정렬합니다.

-h : for human

man du; man sort이상. 우분투 v15에서 작동합니다.


답변

나는 이것을 위해 나를 위해 일했다.

ls -l | sort -g -k 5 -r

어느 것이 (나는 방금 알아 냈습니다) 다음과 같습니다.

ls -lS

답변

와 달리 ls -S, 이것은 희소 파일을 올바르게 처리합니다.

ls -lsh | sort -n | sed 's/^[0-9 ]* //'