2012-02-19 15 views
9

मैं एक bash स्क्रिप्ट कि ऐसा दिखाई देता है में रिकर्सिवली लगता हैबैश पाश उपनिर्देशिका

/public_html/index.php 
/public_html/forums/status.php 
/public_html/really/deep/file/in/many/sub/dirs/here.php 

ऐसा करने के लिए मैं FILES=public_html/*.php को बदलूं?

इसके अलावा, मैं नहीं है कि कम से कम एक फ़ाइल वरना यह प्रिंट

Processing *.php file... 

उत्तर

26
FILES=$(find public_html -type f -name '*.php') 

महत्वपूर्ण: नोट *.php आसपास एकल उद्धरण * के खोल विस्तार को रोकने के लिए।

+0

लिख सकते हैं यह केवल pwd से परिणाम लौटा रहा है। – qwertymk

+0

मुझे ऐसा नहीं लगता है। (क्या आप जीएनयू के खोज का उपयोग कर रहे हैं?) 'Mkdir -p public_html/{a, b, c}; public_html/{ए, बी, सी}/{1,2,3} .php स्पर्श करें; public_html -type f -name * .php' सभी 9 फाइलें लौटाएं। – sgibb

+0

यह 'FILES = "$ काम करता है (public_html -type f -name' * .php ')" ' – qwertymk

1
FILES=`find public_html -type d` 

$ फ़ाइलें अब public_html अंदर हर एक निर्देशिका की एक सूची हो जाएगा सुनिश्चित करने के लिए जाँच करने के लिए की जरूरत है।

+1

मुझे लगता है कि आप इस सवाल को गलत समझते हैं। मुझे निर्देशिका के अंदर फाइलें प्राप्त करने की आवश्यकता है, न कि निर्देशिकाएं – qwertymk

+1

आप public_html की उप-निर्देशिकाओं में प्रत्येक PHP फ़ाइल चाहते हैं? उस स्थिति में आप 'public_html -name * .php' – Jarryd