変換プロジェクトのためにウェブサイトのスクレイピングを行いました。そこにあるファイルの種類に関する統計を作成したいと思います。たとえば、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
カウントを行います(ヒストグラムのように)。
-