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 – ファイルを検索する