आप बस उस विधेय को याद कर रहे हैं जो कहता है कि आप क्या खोज रहे हैं (जैसे -name
।)
नाम से घर निर्देशिका में खोजने के लिए:
find ~ -name \*.pdf
ध्यान दें कि वाइल्डकार्ड *
को बचाना होगा ताकि शेल उस पर अपना हाथ लगाने से पहले उसकी व्याख्या न करे। उपयोग करना '*.pdf'
और "*.pdf"
जैसा प्रभाव होगा वैसा ही होगा \*.pdf
।
केस-असंवेदनशील खोजने के लिए:
find ~ -iname \*.pdf
परिणामों को केवल फाइलों तक पहुंचाने के लिए (नाम की अभिव्यक्ति संभवतः आपके लिए इस बात का ध्यान रखेगी, लेकिन अगर आपके पास कोई अजीब नाम वाली निर्देशिका है):
find ~ -type f -iname \*.pdf
यह सुनिश्चित करने के लिए कि प्रतीकात्मक लिंक निम्न प्रकार हैं (मैं आमतौर पर खोज करते समय स्वयं ऐसा करना चाहता हूं):
find ~ -follow -type f -iname \*.pdf
आपके द्वारा पाई गई फ़ाइलों के साथ कुछ करने के लिए: आप इसे stdout पुनर्निर्देशन (जैसे > filename
अंत में सौदा) का उपयोग करके किसी फ़ाइल में डंप कर सकते हैं , या -exec
कमांड चलाने के लिए विकल्प का उपयोग कर सकते हैं (विवरण के लिए मैन पेज देखें)। उत्तरार्द्ध एक समय में प्रत्येक फ़ाइल पर एक कमांड चलाता है, हालांकि। xargs
एक बार में एक बार या बड़ी मात्रा में सभी आदेशों को कमांड के रूप में अपनी मिली फाइलों को किसी अन्य कमांड को पास करने देने के लिए यह तेजी से होता है । उदाहरण के लिए, हेडर फ़ाइलों के माध्यम से तदर्थ (लेकिन अनइंडेक्सिड) ग्रीप्स के लिए:
find ~ -follow -type f -name \*.h | xargs grep -nH "identifier"
और एक अंतिम विस्तार, उस अंतिम कमांड को ठीक से काम करने के लिए यदि आपके पास उनके साथ रिक्त स्थान वाली फाइलें और निर्देशिकाएं हैं:
find ~ -follow -type f -name \*.h -print0 | xargs -0 grep -nH "identifier"
find
बेकार से दूर है।