find tips
Unixのfindコマンドは、条件に合うファイルに対して指定の処理をするコマンドです。
例を示します。
find /home -ctime +14 -a -name "core.[0-9]*" -exec rm "{}" ¥;
このコマンドラインは、/homeディレクトリー以下の全てのファイルを検索し、最後に更新されてから14日以上経過し、かつ、名前が「core.」に数
字が続くファイルに対して、削除します。コマンドラインの要素を解説します。
/home 検索の起点となるディレクトリーです。
-ctime +14 最後に更新されてから14日以上経過しているという条件式です。
-a 条件式の論理積です。
-name "core.[0-9]*" ファイル名に対するパターンです。
-exec 続くコマンドを実行しろという指示です。
"{}" 条件に該当したファイルのパスに置き換えられます。
¥; コマンドラインの最後にこう書くことになっています。
次の例は、ホームディレクトリー以下のドット記号で始まるファイルの一覧を表示しますが、ディレクトリー自身を表わす「
.」と親ディレクトリーを表わす「
..」は除きます。
find
‾ -name ".*" -a -not -name "." -a -not -name ".." -print ¥;
次の例は、ホームディレクトリー以下の拡張子が「c」である全てのファイルに対して、「include」という単語を含む行を表示します。
find
‾ -name "*.c" -exec grep "include" "{}" ¥;
(C) 2005 石川直太 無保証