반응형
출처 : http://serverfault.com/questions/62411/how-can-i-sort-du-h-output-by-size
크기로 du -h의 출력을 정렬할 수 있나요?
저는 du 출력을 사람이 읽을 수 있는 목록으로 얻고 싶습니다.
하지만, du
는 "크기로 정렬"이란 옵션이 없기 때문에 sort
로 pipe하는 것은 사람이 읽을 수 있도록 하는 플래그(human readable flag)가 작동하지 않습니다.
예를 들어 다음 명령을 실행하면
du | sort -n -r
(내림차순으로) 크기로 정렬된 디스크 사용량이 출력됩니다.
du |sort -n -r
65108 .
61508 ./dir3
2056 ./dir4
1032 ./dir1
508 ./dir2
하지만, 사람이 읽을 수 있도록 하는 플래그(human readable flag)를 사용하여 실행하면 적절하게 정렬되지 않습니다.
du -h | sort -n -r
508K ./dir2
64M .
61M ./dir3
2.1M ./dir4
1.1M ./dir1
크기로 du -h
를 정렬하는 방법을 아시는 분이 계신가요?
39 개의 답변 중 1개의 답변
2009년 8월에 GNU coreutils 7.5 가 나오고 부터, du -h
와 같은 종류의 접미사를 사용하는 -h
파라미터를 sort
에서 쓸 수 있습니다.
du -hs * | sort -h
만약 -h
를 지원하지 않는 sort를 사용하신다면, GNU Coreutils를 설치할 수 있습니다. 다음은 오래된 Mac OS X 입니다.
brew install coreutils
du -hs * | gsort -h
다음은 sort
매뉴얼 내용입니다.
-h, --human-numeric-sort 사람이 읽을 수 있는 숫자를 비교한다 (예시, 2K 1G)
반응형
'리눅스 shell' 카테고리의 다른 글
cloud9.ide에서 시간과 관련된 제약이 있습니까? (0) | 2016.11.20 |
---|---|
lsof를 사용하여 공유메모리 사용자를 식별하기 (0) | 2016.07.04 |
bash script 에서 파일의 크기를 어떻게 구할 수 있을까요? (0) | 2015.12.08 |
리눅스 shell에 색깔 입히기 (0) | 2015.11.01 |
리눅스에 공유메모리에 접근한 프로세스의 목록을 아는 방법 (0) | 2015.08.13 |