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
は次のファイル名へ移動します.
複雑な表現で役に立つ,二つのテストが他にあります.