セカンダリディレクトリのディスク使用量を見つけるには?

セカンダリディレクトリのディスク使用量を見つけるには?

次のディレクトリ構造があります。

relative_path/
              app1/
                   data
                   config
                   trash
              other_app/
                        inputs
                        outputs
                        garbage
              anything_else/
                            v1/
                               v1.5
                            v2/

2番目のレベルの各ディレクトリのディスク使用量を特定する必要があります(例:relative_path/anything_else/v1、しかしrelative_path/anything_elsenorではありませんrelative_path/anything_else/v1/v1.5)。

これにより、du -d2 relative_path3番目のレベル以上のディレクトリは一覧表示されませんが、まだ最初のレベルのディレクトリは一覧表示されます。

どのようにフィルタリングできますか?ただセカンダリディレクトリ?

ベストアンサー1

findGNUまたはシェルを使用してターゲット深度のディレクトリを繰り返し-s((と同じ-d0))を使用して、各引数の合計を表示します。これは出力されますが、relative_path/anything_else/v1ディレクトリとそのサブディレクトリの合計数が表示されます。

サブディレクトリのサイズも除外するには、別のディレクトリを追加してください-S

find relative_path -mindepth 2 -maxdepth 2 -type d -exec du -sS {} \;

または

for dir in relative_path/*/*/; do
    du -sS "$dir"
done

おすすめ記事