-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
पूर्वगामी (या पहले मामले में विकल्प ) का नाम नहीं है ।
दुर्भाग्य से यह मानक नहीं है और न ही पोर्टेबल है।