मैं केवल विशिष्ट उप-निर्देशिकाओं को कैसे खोज सकता हूं?


1

मैं एक बैश स्क्रिप्ट में खोज का उपयोग कर रहा हूं । मैं 'बिन' अर्थात './bin/php/' के तहत एक विशिष्ट निर्देशिका को शामिल करने के लिए उस कोड को कैसे संशोधित कर सकता हूं (जबकि अभी भी 'बिन' के अन्य सभी उप-निर्देशिकाओं को अनदेखा कर रहा हूं)?

वर्तमान कोड:

find . -name '*.php' \
-and ! -path './bin/*' \

जवाबों:


1

क्या यही मतलब है तुम्हारा?

find . \( \! -iregex ^./bin/.\* -o -iregex ^./include/something/.\* \) \
    -name \*.php

नहीं - लेकिन मैंने सवाल को फिर से लिखा है, इसलिए उम्मीद है कि मैं खुद को अब बेहतर बता रहा हूं।
yoavf

yoavf, इसलिए मैंने अपना उत्तर संपादित किया है
माइकल क्रेलिन - हैकर

3
find /bin /bin/php -maxdepth 1 -name "*.php"

अवधारणा के सुबूत

$ पेड़ / बिन
/ bin
| - राख
| - NOT_search
| | - Hide_me.php
| `- Hide_me.txt
| - डु
| - file.php
| - fmt
| - php
| | - Hide_me.txt
| `- show_me.php
`- zsh

2 निर्देशिका, 184 फाइलें

परिणाम

$ मिल / बिन / बिन / php -maxdepth 1 -name "* .php"
/bin/file.php
/bin/php/show_me.php

ध्यान दें कि /bin/dont_search/hide_me.php मेल नहीं खाता



1

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

find . ./bin/php -path ./bin -prune -o -print

यह उन फ़ाइलों को अनदेखा कर देगा जो भीतर हैं।

वैसे, यह "बैश ढूंढ" के बजाय "खोज" है।

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