find

作成日 : 2010-06-13
最終更新日 :

役に立つ find

find だけの使い方はなかなかわからない。find は、他のコマンドとの合わせ技で力を発揮する。 というのは、find は階層構造を下っていくのに適した構造になっているからだ。 階層を下ってさらに付加価値の処理をするということができる。 そのほか、ファイルのタイプ(ディレクトリか、ファイルか)やファイルスタンプなどでの絞り込みもできる。

実例1: grep, xargs との合わせ技(1)

grep, xargs コマンドと合わせて、 あるディレクトリからサブディレクトリを渡り歩いてすべての html ファイルをみつけ、 その中から特定の単語があるかを調べる、というときに使える。

$ find . -type f -name \*html -print | xargs grep "hogehoge"

-type f は、探す対象をファイルに限定するオプションである。これを指定しないと、 ファイルだけでなく、ディレクトリも対象にする。

実例2: grep との合わせ技(1)

上記と同様のことを xargs を使わずに行うこともできる。

$ find . -type f -name \*html -exec grep "hogehoge" {} \;

この右の {} は何かとか、 \; の意味とか考えるときりがないが、 ベテランになると勝手に指が動くようになるもののようだ。

まりんきょ学問所UNIX 手習い > find


MARUYAMA Satosi