manページでは「true を返します。 処理対象がディレクトリである場合、 ディレクトリ内に入っていきません。」という説明で、いったいどういう効果なのかわかりにくい-pruneオプションについてのメモ。
manページの説明にある「指定された式 (expression) を左から右の順で評価していきます。」が重要なポイントで、これでオプションによる結果が決まることになる。
findコマンドで/var以下からディレクトリを検索するが、logディレクトリより下を除外する場合は下記のように指定する。
$ find /var -type d -name log -prune -o -print
これはこのように実行されることになる。
command | path | expression-1 | operator | expression-2 |
---|---|---|---|---|
find | /var | -type d -name log -prune | -o |
これらの組み合わせにより「logディレクトリより下を除外」がされることになる。