QShellの find コマンドを使うと、IFS のディレクトリー階層を辿って、条件を満たすファイルを
検索することが出来る。
■ find コマンドの構文
構文
find パス 式
「パス」には、検索を開始するディレクトリーを指定する。
「式」には、検索条件及び、抽出したファイルにどのような処理を行うか指定する。
以下に、find コマンドの使用例を挙げる。
■ find コマンドの使用例
- 1. /tmp 以下のサブ・ディレクトリーに存在するすべてのファイルを列挙する。
-
find /tmp -type f
-type f は、「ファイル」のみを検索する条件式である。
- 2. 最終更新日が 1 日以内のファイルを列挙する。
-
find /tmp -mtime -1
-mtime -1 は、最終更新日が 1 日以内を意味する。
- 3. 拡張子が .htm のファイルを列挙する。
-
find /tmp -name '*.htm'
さて、前回 「12. ストリーム・ファイル内の文字列を検索するには」で予告したとおり、
サブ・ディレクトリー内のすべてのファイルから文字列を検索するには、以下のような
コマンドを実行すれば良い。
- 4. サブ・ディレクトリー内のすべてのファイルから文字列を検索する。
-
find /tmp -type f -exec grep -l chkInputValidity \{\} \;
findコマンドには、これ以外にも多数のオプションが存在する。興味のある方は、
IBM Knowledge Center の以下のページを参照してもらいたい。