同じサイズまたは同じサイズのすべてのディレクトリとサブディレクトリのリストを取得します。

同じサイズまたは同じサイズのすべてのディレクトリとサブディレクトリのリストを取得します。

以下を使用して、すべてのディレクトリとそのサブディレクトリのサイズを取得できます。

% /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
    }
  }'

おすすめ記事