ディレクトリにあるファイル数を年度別に集計する

特定のディレクトリに複数のファイルが有り、そのファイルを年度別に集計するには下記のコマンドで集計できます

【書式】:find [検索したいパス] -type f -printf '%TY\n’ | sort | uniq -c

・オプションの詳細

  • -type f: 検索対象をファイルのみに限定します。
  • -printf '%TY\n’: 見つかったファイルの最終更新日時 (Modification Time) の年 (西暦4桁) を出力し、各年の後に改行 (\n) を入れます。
    例: 2023, 2024, 2023, 2022, … のような出力になります。
  •  sort: find の出力(年のリスト)を昇順に並び替えます。
    例: 2022, 2023, 2023, 2024, …
  • uniq -c:sort された入力から、連続する重複行を数え上げ、カウント 行の内容 の形式で出力します。この場合、「ファイル数 年」という形式になります。
$ find /home/admin/log/ -type f -printf '%TY\n' | sort | uniq -c

   15 2022
  123 2023
  456 2024
   78 2025