GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリ内のファイルタイプに関する再帰的な統計?

変換プロジェクトのためにウェブサイトのスクレイピングを行いました。そこにあるファイルの種類に関する統計を作成したいと思います。たとえば、400 .html ファイル、100 .gif 、など。これを行う簡単な方法は何ですか?再帰的である必要があります。

編集: maxschelpzigが投稿したスクリプトでは、スクレイプしたサイトのアーキテクチャが原因で問題が発生しています。一部のファイルの名前は*.php?blah=blah&foo=barです。 さまざまな引数があるので、それらすべてを一意としてカウントします。したがって、ソリューションでは*.php*を考慮する必要があります。 いわば、すべて同じタイプである必要があります。

承認された回答:

findを使用できます およびuniq このため、例:

$ find . -type f | sed 's/.*.//' | sort | uniq -c
   16 avi
   29 jpg
  136 mp3
    3 mp4

コマンドの説明

  • find すべてのファイル名を再帰的に印刷します
  • sed ファイル拡張子までのプレフィックスをすべてのファイル名から削除します
  • uniq ソートされた入力を想定
    • -c カウントを行います(ヒストグラムのように)。

Linux
  1. Linuxでmvなしでファイルを移動する

  2. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  3. Rmが読み取り専用ファイルを削除できるのはなぜですか?

  1. ディレクトリ内のファイルの名前を変更しますか?

  2. ファイル/ディレクトリおよびファイル システム ユーザー タイプの権限テーブル

  3. すべてのファイルを単一のファイルに再帰的に cat する

  1. 誤って削除されたファイルを回復しますか?

  2. rsync ディレクトリ内の N 個の最新ファイル

  3. 一部を除くディレクトリ内のすべてのファイルを削除する方法は?