जिस तरह से मुझे लगता है कि उसे ऐसा करना चाहिए, वह 'खोज' क्यों नहीं करता है?


3

मैं MacOSX 10.5.8 चला रहा हूं

मैं निम्नलिखित चलाता हूं:

~/Sites/jjprof/trunk/content > find . -type d -name '*svn' -prune
./.svn
./resources/.svn
./resources/sitewide/.svn
./temporary/.svn
./users/.svn
./users/avatars/.svn

मुझे उम्मीद है कि यह आदेश सभी .svn उपनिर्देशिकाओं की अनदेखी करेगा ; इसके बजाय यह उन्हें प्रदर्शित करता है।

find . -name '*svn' -prune 

वही काम करता है।

जवाबों:


6

इसे इस्तेमाल करे:

find -type d -path '.svn' -prune -o -print

से man findपर खंड के अंतर्गत -name:

एक निर्देशिका और इसके तहत फाइलों को अनदेखा करने के लिए, उपयोग करें -prune; के उदाहरण में एक उदाहरण देखें
-path

पर अनुभाग के तहत -path:

संपूर्ण निर्देशिका ट्री को अनदेखा करने के लिए, ट्री -pruneकी प्रत्येक फ़ाइल की जाँच करने के बजाय उसका उपयोग करें । उदाहरण के लिए, निर्देशिका src/emacs और इसके अंतर्गत आने वाली सभी फ़ाइलों और निर्देशिकाओं को छोड़ें , और मिली अन्य फ़ाइलों के नाम प्रिंट करें, ऐसा कुछ करें:

             find . -path ./src/emacs -prune -o -print

"उदाहरण" अनुभाग से:

हालाँकि, -pruneकार्रवाई खुद ही सही हो जाती है, इसलिए निम्नलिखित -oयह सुनिश्चित करता है कि दाहिने हाथ की ओर का मूल्यांकन केवल उन निर्देशिकाओं के लिए किया जाए, जो कि चुभ नहीं पाईं (छिटपुट निर्देशिकाओं की सामग्री का दौरा भी नहीं किया जाता है, इसलिए उनकी सामग्री अप्रासंगिक हैं)।


2
यह वास्तव में उपयोग करने का सही तरीका है -prune, और एक अच्छी व्याख्या है। हालांकि, उपनिर्देशिका ( -पैथ * * svn'` अतिरिक्त फ़ाइलों से मेल खाती है) -name .svnका चयन करने का सही तरीका है । .svn-name '*svn' or
गिल्स

2
यह वास्तव में काम नहीं करता है। आपको '*/.svn'पथ नाम के रूप में उपयोग करने की आवश्यकता है ; अन्यथा, यह मेल नहीं खाएगी ./.svn, ./subdir/svn, और इसके आगे।
ब्रूक्स मूसा

2

मिल मैनुअल राज्यों था prune "पूर्ववर्ती पथ की अनदेखी करता है ..." तो कमांड होना चाहिए

find . -prune -type d -name '*svn'

ऐसा इसलिए है क्योंकि आपके पास कुछ हो सकता है

find -path . -name '*svn' -o -path './notimportantdir' -prune

जो वर्तमान पथ में पाता है '* SVN' को छोड़कर के तहत उन लोगों notimportantdir

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.