du -sh * , 사용 횟수가 0인 디렉토리를 숨깁니다.

du -sh * , 사용 횟수가 0인 디렉토리를 숨깁니다.

이것이 나의 현재 출력입니다.

475M    directorya
0       directoryb
0       directoryc
520M    directoryd
42G     somefolder

이것이 내가 하려는 일이다.

  1. 0번 사용된 디렉토리를 숨기는 방법은 무엇입니까? 기본적으로 0보다 큰 디렉토리만 표시됩니다.
  2. 오름차순/내림차순으로 정렬하는 방법은 무엇입니까?

답변1

du -sh /directory/* | awk '$1 != "0" {print $0}' | sort -h

의 출력에는 du -sh /directory/*첫 번째 열에 포함된 디렉터리의 크기가 표시되고 두 번째 열에는 디렉터리 자체가 표시됩니다.

위 명령은 du -sh디렉터리에서 실행된 다음 awk첫 번째 열(크기)이 0이 아닌 줄만 인쇄한 다음 사람이 읽을 수 있는 순서로 출력을 정렬하도록 지시합니다.

답변2

grep을 사용하여 다음과 같은 결과를 얻을 수 있습니다.

du -sh * | grep -v '^0' | sort -h

-v 일치 항목을 반대로 바꾸고, '^0'은 0으로 시작하는 줄을 찾습니다.

관련 정보