これはfindコマンドの概要を要約するより良い方法ですか?

これはfindコマンドの概要を要約するより良い方法ですか?

マニュアルページのfind概要で以下を探します。

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

しかし、マニュアルページを読んだ後、次のようになることがわかりました。

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [options] [tests] [actions] 

私の理解は正しいですか?

答え1

概要には、オプションがテストの前に表示され、オプションとテストの両方がタスクの前に表示される必要があることが示されていますが、そうではありません。実際には、順序に関係なく実行できます。

findさらに、テストと呼ばれるものとGNUのマニュアルページで動作すると呼ぶものとの間には全く違いはありません。マニュアルページがテキストでそれらを別々に分類する理由はわかりませんが(GNU以外のバージョンのマニュアルページはfind区別されません)、おそらく解釈の便宜と容易さのためです。実際、アクションはテストに過ぎず、偶然に副作用があるだけです。すべてのいわゆるアクションは、いわゆるテストと同様にブール値を持つように文書化されています(そのうちの多くは無条件の真を返します)。完全な式の評価はこれらの戻り値の影響を受け、「実際の」テストと同様に、順序が重要です(特に-o括弧と論理演算子が含まれている場合)。さらに、いわゆるオプションと呼ばれるものでさえ、実際にはテストです(マンページ参照:「すべてのオプションは常にtrueを返します」)。したがって、シノプシスでこれが文法的に異なるものであることを暗示するのは誤解を招く。

答え2

あなたの意見ではオプションテストそして行動混合可能:

find / -type f -name '*.DELETE' -ls -delete -o -name '*.COMPRESS' -exec gzip {} \;

関連情報