मुझे दिए गए उदाहरण से बहुत समझ नहीं है man find
, क्या कोई मुझे कुछ उदाहरण और स्पष्टीकरण दे सकता है? क्या मैं इसमें नियमित अभिव्यक्ति को जोड़ सकता हूं?
अधिक विस्तृत प्रश्न इस प्रकार है:
एक शेल स्क्रिप्ट लिखें changeall
, जिसमें एक इंटरफ़ेस हो changeall [-r|-R] "string1" "string2"
। यह का एक प्रत्यय के साथ सभी फ़ाइलों को मिलेगा .h
, .C
, .cc
, या .cpp
और की सभी घटनाओं को बदलने string1
के लिए string2
। -r
केवल वर्तमान डायर में रहने के लिए या उप-विभाग सहित के लिए विकल्प है।
ध्यान दें:
- गैर-पुनरावर्ती मामले के लिए,
ls
अनुमति नहीं है, हम केवल उपयोग कर सकते हैंfind
औरsed
। - मैंने कोशिश की
find -depth
लेकिन यह समर्थित नहीं था। इसलिए मैं सोच रहा था कि क्या-prune
मदद मिल सकती है, लेकिन उदाहरण से समझ नहीं आयाman find
।
EDIT2: मैं असाइनमेंट कर रहा था, मैंने महान विवरणों में सवाल नहीं पूछा क्योंकि मैं इसे खुद खत्म करना चाहूंगा। चूंकि मैंने पहले ही इसे कर लिया था और इसे हाथ में ले लिया था, अब मैं पूरे प्रश्न को बता सकता हूं। इसके अलावा, मैं उपयोग किए बिना काम पूरा करने में कामयाब रहा -prune
, लेकिन इसे वैसे भी सीखना चाहूंगा।
-prune
केवल निर्देशिकाओं पर काम नहीं करता है (लेकिन, निर्देशिकाओं के लिए, यह उस स्थिति से मेल खाते निर्देशिकाओं को दर्ज करने से भी रोकता है, अर्थात यहाँ मिलानों को मिलान करता है-name .snapshot
)।