13. ファイルの検索 find

 
 いささか長くなってきたので別立てしました。
13.1 基本形
13.2 ディレクトリ内のファイル数やディレクトリ数を調べる

13.1 基本形

 ファイルを検索します。
> find パス名 [オプション] [-name ファイル名] [-print]
 本当は、オプションの組合せはもっといろいろあるのですが、もっとも多く使うパターンとして上に例示しました。  応用例を下に例示します。
> find  /  \!  -name  "*.c"  -print
 探索をルートディレクトリから開始し、ファイル名の終わりが .c でないものを表示します。
> find  /  -newer  ttt  -user  wnj  -print
 探索をルートディレクトリから開始し、ファイルが ttt というファイルより新しく、所有者が wnj であるようなものを表示します。
> find  /  \!  \(  -newer  ttt  -user  wnj  \)  -print
 探索をルートディレクトリから開始し、 ttt というファイルより古いか、所有者が wnj 以外のファイルを表示します。
> find  /  \(  -newer  ttt  -or  -user wnj  \)  -print
 探索をルートディレクトリから開始し、ファイルが ttt というファイルより新しいか、所有者が wnj であるようなものを表示します。

13.2 ディレクトリ内のファイル数やディレクトリ数を調べる

 -type オプション、wc コマンドを組み合わせることにより、ディレクトリ内のファイル数やディレクトリ数を調べることができます。  下記で、ファイル数を調べます。
> find ディレクトリ名 -type f | wc -l 
 下記で、ディレクトリ数を調べます。
> find ディレクトリ名 -type d | wc -l