IFS

13. サブ・ディレクトリーからファイルを探すには - findコマンド

QShellfind コマンドを使うと、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 の以下のページを参照してもらいたい。

IBM Knowledge Center - find - ファイルを検索する