UNIXにおいてたくさんのディレクトリの下に散らばったファイルの中から ある条件にしたがったファイルを見つけるためには findを使う。
ある名前のファイルを見つけるというのが
findの一番良く使われる使い方である。
今いるディレクトリ(カレントディレクトリ)から下のディレクトリにある
fileという名前のファイルを探すためには以下のようにコマンドを使用する。
# find . -name file -print
最初の . (ピリオド、カレントディレクトリを表す)が探すディレクトリをになる。
-nameの後ろに探すファイル名を打ち込んで、最後に-printを必ず付ける。
(-printが無いと探し出したファイル名が表示されない)
またファイル名には正規表現も使える。
例えば、C言語のプログラムファイルだけを探す時は以下のようにする。
# find . -name "*.c" -print
*以外の特殊文字としてはシェルのコマンドラインで使用できるもと
同じものが使用できる。( ?, [ ] )
-nameの代わりに以下のオプションを使うことによって名前以外の条件で
ファイルを探すことができる。
findによって探したファイルに対して他のコマンドを実行することができる。
良く使われるのは、あるディレクトリ以下のファイルを消す時である。
カレントディレクトリの下のcoreという名前のファイルを消すには以下のように
打ち込む。
# find . -name core -exec rm {} \;