Ubuntuのduコマンドを使用してサイズでフィルタリングする方法


  1. 特定のサイズ以上のファイル/ディレクトリのみを表示する:

    $ du -h --threshold=SIZE

    上記のコマンドを実行すると、指定したサイズ以上のファイル/ディレクトリのみが表示されます。SIZEは、表示するサイズの閾値を指定するために使用します。たとえば、1GB以上のファイルのみを表示するには、次のようにします。

    $ du -h --threshold=1G
  2. 特定のサイズ以下のファイル/ディレクトリのみを表示する:

    $ du -h --max-depth=1 | awk '$1 ~ /^([0-9]+[KMG])?(B)?$/ && $1 <= SIZE {print}'

    上記のコマンドでは、duコマンドの出力をパイプ(|)でawkコマンドに渡し、指定したサイズ以下のファイル/ディレクトリのみを表示します。SIZEは、表示するサイズの上限を指定するために使用します。たとえば、100MB以下のファイルのみを表示するには、次のようにします。

    $ du -h --max-depth=1 | awk '$1 ~ /^([0-9]+[KMG])?(B)?$/ && $1 <= 100M {print}'
  3. 特定のサイズのファイル/ディレクトリのみを表示する:

    $ du -h --max-depth=1 | awk '$1 ~ /^([0-9]+[KMG])?(B)?$/ && $1 == SIZE {print}'

    上記のコマンドでは、duコマンドの出力をパイプ(|)でawkコマンドに渡し、指定したサイズと一致するファイル/ディレクトリのみを表示します。SIZEは、表示するサイズを指定するために使用します。たとえば、500MBのファイル/ディレクトリのみを表示するには、次のようにします。

    $ du -h --max-depth=1 | awk '$1 ~ /^([0-9]+[KMG])?(B)?$/ && $1 == 500M {print}'