-print
adalah tindakan default . Beberapa find
predikat dianggap sebagai tindakan yang bertentangan dengan filter atau ketentuan . Misalnya, -type f
bukan tindakan. -exec
adalah suatu tindakan meskipun juga dapat digunakan sebagai suatu kondisi.
Tindakan termasuk -print
, -exec
dan -ok
. Beberapa find
implementasi memiliki predikat tindakan non-standar lainnya seperti -print0
, -printf
, -execdir
, -okdir
, -ls
...
find files <some-predicates>
Di mana tidak ada tindakan yang<some-predicates>
mengandung setara dengan:
find files \( <some-predicates> \) -print
(perhatikan tanda kurung di atas yang penting jika ada beberapa -o
operator).
Jika ragu, yang terbaik adalah menggunakan -print
secara eksplisit (atau -exec printf '%s\0' {} +
(atau -print0
jika tersedia) sehingga output dapat diproses setelahnya).
Tindakan default -print
ditentukan oleh POSIX. Beberapa find
implementasi lama memerlukan eksplisit-print
, tetapi biasanya tidak ditemukan di alam liar saat ini.
Perhatikan juga bahwa beberapa find
implementasi mengizinkan penghapusan files
, dalam hal ini mereka default untuk mencari ke direktori saat ini. Itu untuk mereka,
find
setara dengan
find .
find . -print
Namun itu bukan standar, jadi sebaiknya dihindari.
Di ujung spektrum yang lebih bertele-tele (dan bermanfaat), beberapa find
implementasi juga memungkinkan lewat jalur file sebagai argumen ke -f
opsi seperti pada:
find -f "$file1" -f "$file2" -print
Mereka adalah satu-satunya find
implementasi yang memungkinkan lewat jalur file sewenang-wenang find
. Implementasi lain tidak dapat menerima jalur file seperti !
atau -print
... jadi find "$file" -print
(atau bahkan find -- "$file" -print
) mengasumsikan $file
bukan nama find
predikat (atau opsi dalam kasus pertama).
Sayangnya itu bukan standar atau portabel juga.