크기가 동일하거나 동일한 모든 디렉터리 및 하위 디렉터리 목록을 가져옵니다.

크기가 동일하거나 동일한 모든 디렉터리 및 하위 디렉터리 목록을 가져옵니다.

다음을 사용하여 모든 디렉터리와 해당 하위 디렉터리의 크기를 얻을 수 있습니다.

% /usr/bin/du -b */
4096    dest/src/_adoc
4096    dest/src/_txt
12288   dest/src
28117   dest/
4096    src/_adoc
4096    src/_txt
12818   src/

비슷한 크기의 디렉토리에 대해 모든 디렉토리와 하위 디렉토리를 검색하는 방법은 무엇입니까? 예를 들어 이 경우 다음은 비슷한 크기를 갖습니다.

4096    dest/src/_adoc
4096    dest/src/_txt
4096    src/_adoc
4096    src/_txt

답변1

GNU 도구를 사용하면 다음을 수행할 수 있습니다.

du -b | expand -t12 | sort | uniq -Dw12

디렉토리 이름에 개행 문자가 포함되어 있지 않다고 가정하면 디렉토리의 누적 크기는 999999999999바이트를 초과하지 않습니다. 그러면 탭(파일 이름에 나타나는 탭 포함)도 확장됩니다.

이러한 제한 사항을 제거하려면 대신 다음을 수행할 수 있습니다(여전히 GNU 도구 사용).

du -b0 | sort -zn | awk -v RS='\0' -F'\t' '
  {
    if ($1 == prev) {
      if (!n++) print prev_line
      print
    } else {
      n = 0
      prev = $1
      prev_line = $0
    }
  }'

관련 정보