यदि आप खोज कमांड को एक पूर्ण पथ देते हैं, तो यह परिणामों को एक पूर्ण पथ के साथ थूक देगा। यदि आप टाइप करना चाहते हैं, तो केन निर्देशिका से:
find /home/ken/foo/ -name bar -print
(सापेक्ष पथ के बजाय find . -name bar -print
)
आपको मिलना चाहिये:
/home/ken/foo/bar
इसलिए, यदि आप चाहते हैं ls -l
और आपके पास पूर्ण पथ वापस आ गया है, तो आप ls -l
जो कुछ भी पाते हैं, उस पर अमल करने के लिए केवल खोज कमांड बता सकते हैं ।
find /home/ken/foo -name bar -exec ls -l {} ;\
नोट: के बीच एक स्थान है {}
और;
आपको कुछ इस तरह मिलेगा:
-rw-r--r-- 1 ken admin 181 Jan 27 15:49 /home/ken/foo/bar
यदि आप सुनिश्चित नहीं हैं कि फ़ाइल कहाँ है, तो आप हमेशा खोज स्थान बदल सकते हैं। जब तक खोज पथ "/" से शुरू होता है, आपको बदले में एक पूर्ण मार्ग मिलेगा। यदि आप एक स्थान (जैसे /) खोज रहे हैं, जहाँ आपको बहुत सी अनुमति से वंचित त्रुटियां होने वाली हैं, तो मैं मानक त्रुटि को पुनर्निर्देशित करने की सलाह दूंगा ताकि आप वास्तव में खोज परिणाम देख सकें:
find / -name bar -exec ls -l {} ;\ 2> /dev/null
( 2>
बोर्न और बैश गोले के लिए वाक्यविन्यास है, लेकिन सी शेल के साथ काम नहीं करेगा। यह अन्य गोले में भी काम कर सकता है, लेकिन मैं केवल यह सुनिश्चित करने के लिए जानता हूं कि यह बॉर्न और बैश में काम करता है)।
find /home/ken/foo/bar -exec ls -ld $PWD/{} \;