मेरे पास जंक से भरा temp निर्देशिका है जो सभी __temp__
(उदा। __temp__user_uploads
) से शुरू होती है, जिसे मैं क्लीनअप फ़ंक्शन से हटाना चाहता हूं।गैर-खाली निर्देशिकाओं को हटाने के लिए मैं लिनक्स में `find` कमांड का उपयोग कैसे कर सकता हूं?
find . -name __temp__* -exec rm -rf '{}' \;
अगर मैं आदेश चला और वहाँ कई __temp__
निर्देशिका (__temp__foo
और __temp__bar
) कर रहे हैं, मैं उत्पादन मिलता है:: यदि मैं आदेश चला और वहाँ
find: __temp__foo: unknown option
मेरे समारोह प्रयास को चलाने के लिए है है केवल 1 __temp__
निर्देशिका (__temp__foo
), इसे नष्ट कर दिया है और मैं आउटपुट प्राप्त:
find: ./__temp__foo: No such file or directory
आज्ञा क्यों काम नहीं करती है, यह इस तरह असंगत क्यों है, और मैं इसे कैसे ठीक कर सकता हूं?
जीएनयू यूटिलिटीज (ओपी लिनक्स पर है) मानते हुए, दक्षता और मजबूती में सुधार के रूप में, मैं वास्तव में 'ढूंढने की अनुशंसा करता हूं। -मैक्सडेपथ 1-प्रकार डी-नाम '__temp __ *' -print0 | xargs -0 आरएम-आरएफ'। – pilcrow
+1 के बजाय xexs का सुझाव देने के लिए -exec –
@ आशीष कुमार - xargs के लिए +1 क्यों? '-exec'' find' की अच्छी सुविधा नहीं है? पुलक्रो, स्पष्टीकरण के लिए धन्यवाद! – orokusaki