前: Filesystems, 上: Finding Files


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
リストです.expr1expr2は,常に評価されます.expr2が 真の場合は真です.expr1の値は放棄されます.このオペレータで,一回 の処理で,他の処理が成功したかどうかに依存せず,複数の独立した処理を行 なうことができます.二つの処理expr1expr2は,常に完全に独 立というわけではなく,それはexpr1にファイルを編修したり削除したり する副作用がある可能性があり,また,expr2に影響する`-prune' を使用している可能性もあるためです.

findは,右から左まで式を評価しながら,それぞれのファイル名を起点 としたディレクトリツリーを,優先順位の規則に従い,(`-and'に対して は左が偽,`-or'に対しては真となる)結果が分かるまで検索し,そして, findは次のファイル名へ移動します.

複雑な表現で役に立つ,二つのテストが他にあります.

— Test: -true

常に真です.

— Test: -false

常に偽です.