こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

solaris9 ディレクトリ内のファイル数をカウントする方法

Solaris9を使用しておりますが、
ディレクトリ内のファイル数をカウントしたいと考えておりますが可能でしょうか?

ディレクトリは階層的になっており、各々のディレクトにいくつのファイルが存在しているのかを調べたいと思っております。
(duコマンドのような感じでサイズではなく、ファイル数が分かればなぁ・・ といった感じです。)

宜しくお願い致します。

投稿日時 - 2006-09-08 17:09:17

QNo.2392723

困ってます

質問者が選んだベストアンサー

こんにちは。

 findを使って、サブディレクトリのファイルリストを作成し、awkで各ディレクトリごとにごとのファイル数をカウントすればよいと思います。

 awkはプログラム言語に近い機能を持っているので、一口で説明しきれないので、マニュアルや解説本を参照してください。

では。

投稿日時 - 2006-09-08 17:29:01

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

#3で訂正
for dir in `find directory -type d -print` ; do echo %dir ; ls %dir | wc; done
ではなくて
for dir in `find directory -type d -print` ; do echo $dir ; ls $dir | wc; done
です。

投稿日時 - 2006-09-11 14:55:51

ANo.3

使っているシェルにもよりますが、
for dir in `find directory -type d -print` ; do echo %dir ; ls %dir | wc; done
みたいな手も使えるかもしれません。
(このままだと、ディレクトリもカウントすると思うので、できれば、ls のところで、ファイルだけ抽出するようなオプションをつけるか、ファイルだけをリストするようなコマンドを使ったほうが良いかと。)

投稿日時 - 2006-09-09 16:12:28

ANo.1

findコマンドでファイル数をカウントすればディレクトリ以下のファイル数がでると思います。

find ./ -type f -print | wc -l

などでいかがでしょう?

投稿日時 - 2006-09-08 17:20:43

お礼

早速のご回答ありがとうございます。

一括で各ディレクトリ内のカウントはやはり出来ないという事ですね。
教えていただいた方法でまずはトップディレクトリでカウントとして、その後、ファイル数が合わないディレクトリをドリルダウンで調べていくようにしたいと思います。

投稿日時 - 2006-09-08 18:40:45

あなたにオススメの質問