2.11 オペレータの主なものを組み合わせる
オペレータはテストとアクションから,複雑な表現を構築します.オペレータ
は優先順位が下がる順序で,以下のものがあります.
( expr )-
優先順位をあげます.exprが真の場合は真です.
! expr-not expr-
exprが偽の場合は真です.
- expr1 expr2
- expr1
-a expr2- expr1
-and expr2 -
And(論理積)です.expr1が偽の場合,expr2は評価されません.
- expr1
-o expr2- expr1
-or expr2 -
Or(論理和)です.expr1が真の場合,expr2は評価されません.
- expr1
, expr2 -
リストです.expr1とexpr2は,常に評価されます.expr2が
真の場合は真です.expr1の値は放棄されます.このオペレータで,一回
の処理で,他の処理が成功したかどうかに依存せず,複数の独立した処理を行
なうことができます.二つの処理expr1とexpr2は,常に完全に独
立というわけではなく,それはexpr1にファイルを編修したり削除したり
する副作用がある可能性があり,また,expr2に影響する`-prune'
を使用している可能性もあるためです.
findは,右から左まで式を評価しながら,それぞれのファイル名を起点
としたディレクトリツリーを,優先順位の規則に従い,(`-and'に対して
は左が偽,`-or'に対しては真となる)結果が分かるまで検索し,そして,
findは次のファイル名へ移動します.
複雑な表現で役に立つ,二つのテストが他にあります.