-print
デフォルトアクションです。一部のfind
述部は、フィルターまたは条件とは対照的に、アクションと見なされます。たとえば、アクションではありません。条件として使用することもできますが、アクションです。-type f
-exec
アクションには-print
、-exec
およびが含まれます-ok
。いくつかのfind
実装では、のような他の非標準アクション述語を持って-print0
、-printf
、-execdir
、-okdir
、-ls
...
find files <some-predicates>
包含アクションのいずれも次のものと同等で<some-predicates>
はない場合:
find files \( <some-predicates> \) -print
(いくつかの-o
演算子がある場合に重要な上記の括弧に注意してください)。
疑わしい場合は、-print
明示的に(または-exec printf '%s\0' {} +
(または-print0
利用可能な場合)出力を後処理できるように)使用するのが最善です。
デフォルトの-print
アクションはPOSIXで指定されています。いくつかの古いfind
実装では明示的な-print
が必要でしたが、最近ではこれらは通常は見当たりません。
また、一部のfind
実装ではを省略できることに注意してください。files
この場合、デフォルトで現在のディレクトリを検索します。つまり、彼らにとっては、
find
に等しい
find .
find . -print
ただし、これは標準ではないため、避けるのが最善です。
スペクトルのより冗長な(そして有用な)終わりに、いくつかのfind
実装は、次のように-f
オプションへの引数としてファイルパスを渡すこともできます:
find -f "$file1" -f "$file2" -print
これらは、find
任意のファイルパスをに渡すことができる唯一の実装ですfind
。他の実装は次のようにファイルパスを受け入れることができない!
か、-print
そう... find "$file" -print
(あるいはfind -- "$file" -print
)を前提としてい$file
の名前ではありませんfind
(最初の場合またはオプション)述語。
残念ながら、それは標準でも移植性でもありません。