-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(最初の場合またはオプション)述語。
残念ながら、それは標準でも移植性でもありません。